1 :
名無しさん@そうだ選挙にいこう :
2006/06/18(日) 23:02:37 Excel総合相談所 46 にだ 答えやすく質問しましょう 質問者の役に立つ回答をしましょう
2 :
名無しさん@そうだ選挙にいこう :2006/06/18(日) 23:10:54
質問テンプレを使いたい人は使いましょう 使いたくない人は使わず質問しましょう 答えたくない人はスルーしましょう テンプレはもうすぐその筋の人が貼ってくれます、たぶん
▼━ 答えやすい質問のしかた ━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-20 あたりの注意書きやQ&Aも読もう。
★4 質問テンプレは必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
これを書かなかった場合は、以後まともな回答が付かなくても文句言わないでね。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。
▼━質問時の注意・決まり事 ━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ここは技術的な質問のみで。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、 どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチはダメ。 ・a テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
5 :
名無しさん@そうだ選挙にいこう :2006/06/18(日) 23:27:58
テンプレ貼るのはいいけど、前に習えじゃなくてちょっとは工夫しろよ。
= FAQ: 基本 =
Q1:こんな関数ありませんか?
A1:「関数の挿入」にある検索機能や、ヘルプの検索を利用しましょう。
また、一つの関数で目的を達成しようと思わずに、いくつかの関数を組み合わせて使うという発想を持ちましょう。
Q2:数式がエラーを返すんですけど
A2:関数をネストせず、数式を分解してみてください。
どの関数がエラーになっているのか解れば、その関数の参照先や、ヘルプなどを見て大抵は簡単に解決できます。
Q3:計算結果やセルの値によって自動で書式を変更したいんですが
A3:条件付き書式を利用してください。数値比較で文字色のみの指定なら表示形式でもできます。
Q4:計算結果やセルの値によって表示形式を変えたいのですが
A4:表示形式のユーザー設定で複数条件の表示形式を指定できます。
基本形式は「正の数;負の数;0の場合;文字の場合」です。(;は半角で)
又は「[>=70]70以上の場合;[>=50]50以上の場合;50未満の場合;文字の場合」というような指定も出来ます。
書式記号などに関することはヘルプを参照しましょう。
Q5:計算結果が自動で更新されなくなったんですが、どうすれば直せますか
A5:Excel(2002?)の不都合で、計算方法が手動になってしまうことがあるようです。
ツール > オプション > 計算方法
で、計算方法を自動にすることで元にもどります。
参考URL:
ttp://support.microsoft.com/default.aspx?scid=kb;ja;817716 Q6:VBAでこんなこと出来ませんか?どうやるんですか?、
A6:まずはマクロの記録を取ってみて、記録されたコードのメソッドやプロパティをヘルプで調べたり、
ステップ実行やブレークポイントなどを使って動作を確認したりしてみましょう。
Q7:エクセルの勉強をするのにオススメの書籍・サイトは何ですか?
A7:自分で実際に読んで(閲覧して)、自分のレベルに合っていて解りやすいと思うものを利用しましょう。
さて、貼らないで文句だけ言う奴にもめげず、
阿呆な
>>1 のフォローしてテンプレ貼ってやったぞ。
誰か過去スレ一覧とFAQの補完頼む
8 :
名無しさん@そうだ選挙にいこう :2006/06/19(月) 07:38:10
>>7 質問者にこれ全部嫁っていうのは無理ありすぎだろ。
9 :
名無しさん@そうだ選挙にいこう :2006/06/19(月) 07:50:43
今必死になってルール厨が、次スレの準備してるのかな? それともこのレス見てあわてて立ててくるのかな? どっちにしろ しばらくはルールやテンプレの連続レスで 書けねぇから質問は休みだね
11 :
名無しさん@そうだ選挙にいこう :2006/06/19(月) 18:48:17
たとえばエクセルで たまご たまご たまご にわとり にわとり っていうデータがあるときに 違うシートに たまご にわとり だけを抜き出すって可能? さらに新しく 親子丼 親子丼 っていうデータが元のシートに入ったら たまご にわとり 親子丼 っていう風に自動追加されるような感じで。
エクセルで連想ゲームは無理
すいません、超初歩的質問です。VBAで1〜10を足すプログラムを作れと言われました。何回やっても答えが11になってしまいます。もうわかりません。誰か答えを教えてください。
まず、その11になるやつを晒してみろ
お前は多分、1から10まで足すんじゃなくて、1と10を足すプログラムを書いてる。 が、宿題の答えを丸写しさせてくれるほどこのスレは甘くないぞ。 とりあえず変数を二つ宣言しろ。 1個はループのカウント用、もう1個は足した数を覚えとく用だ。 ループ1回まわすごとに、カウント用の変数を1づつ増やすんだよ。 で、足した数を覚えとく変数にカウンタ変数の値を足す。そうすっと、ループ1回ごとに 1+2+3+……ってなるだろ。 あとはカウンタが10まで回ったらおしまい。
16 :
13 :2006/06/19(月) 21:49:05
とりあえず。 Sub sample() Dim a As Long a = 0 For a = 1 To 10 Sheet1.Cells(1, 1) = a + 1 Next a End Sub 足し算を覚えさせておく変数って???
これは・・・ どこから教えればいいのだろう。 2行づつどういうつもりで書いたか説明すれば、どこを考え違いしてるのかわかるかも
×2行 ○1行
>>16 えーとそのコードでaの変化を追ってみると
2→3→4→5→6→7→8→9→10→11
なるほど11だな
20 :
名無しさん@そうだ選挙にいこう :2006/06/19(月) 22:06:22
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 RAND() を使って乱数(0<x<1)を30個作成し、 0〜0.3→1 0.3〜0.8→2 0.8〜1.0→3 の用に横のセルに数字を表示させたいのですが、どんな式を使えばいいのでしょうか? 基本的なことかもしれませんが、キーワードさえ思いつかない状態なので。。よろしくお願いします。
21 :
13 :2006/06/19(月) 22:07:10
なんで11になるかはわかりました。 しかし、じゃ〜どうすればいいのかはわかりません…。 なんとなく、変数が2つ要るような気がするところまでわかりました。
>>16 最初のa=0は意味が無いのでは?
その後にaは1から10まで変化していくと決めたんだから
1ループ目のaは1となり
a+1=1+1=2だ
2ループ目のaは2で
a+1=2+1=3と続いていくぞ
>>20 IF関数かな
あと0≦RAND()<1だったような
24 :
名無しさん@そうだ選挙にいこう :2006/06/19(月) 22:17:47
Excel2000を使っています。 オートシェイプで四角や丸を書いて、それをカギ線コネクタでつなぎました。 画面ではつながっているのですが、印刷したところ少しずつすべての コネクタがずれて印刷されます。 コネクタが実はずれているのかも、と思い、なんども再度接続したのですが、 結果は同じでした。 どなたかわかる方、教えていただけないでしょうか?
A1がなにも記入されてないなら Sheet1.Cells(1, 1) = Sheet1.Cells(1, 1) + a
26 :
13 :2006/06/19(月) 22:40:04
できたぁ!みなさまありがとうございますた! Sub sample() Dim a As Long Dim b As Long a = 0 For a = 1 To 10 b = b + a Sheet1.Cells(1, 1) = b Next a End Sub
>>26 ループに入れる必要の無い処理は外に出そう
>>13 おめでとう
>>25 は変数が一つでできる
空白セルがbの代わりになっているんだな
bの初期化をしたほうがよいです a = 0 は直後に別の値が代入されて使われていないようです
30 :
20 :2006/06/19(月) 23:26:18
>>23 解決しました!
どうもどうも、ありがとうございます。
31 :
質問太郎 :2006/06/20(火) 01:20:07
夜な夜な質問であります 下のコードは 「"製品型番"シートをアクティブにすると"製品型番"と"更新履歴"シート以外のシートを削除する」 つもりなんですが、なぜか削除されないシートがあります。 どこがおかしいのでしょうか? Private Sub Worksheet_Activate() Dim newsheet(10) As String Dim a As Long Dim b As Long For a = 1 To Sheets.Count newsheet(a) = Sheets(a).Name Next a For b = 1 To Sheets.Count If newsheet(b) <> "製品型番" And newsheet(b) <> "更新履歴" Then GoTo ws_clear Else End Next b ws_clear: Application.DisplayAlerts = False worksheets(newsheet(b)).Delete Application.DisplayAlerts = True End Sub
>>31 製品型番か、更新履歴にぶつかった瞬間Else Endになり
それ以降のシートは判定→消去されない。
>>32 御指摘は薄々感づいてました
ありがとうございます
ぶつかったあとも残りのシートを判定させるには
どうすればいいのでしょうか。。
bのループを続けるには・・・
ちょこっといじってみた。BASIC的な書き方…。 If newsheet(b) <> "製品型番" And newsheet(b) <> "更新履歴" Then GoSub ws_clear Next b ws_clear: Application.DisplayAlerts = False If newsheet(b) = "" Then End Worksheets(newsheet(b)).Delete Application.DisplayAlerts = True Return End Sub
これでいけそう。 Private Sub Worksheet_Activate() For Each a In ThisWorkbook.Sheets If a.Name <> "製品型番" And a.Name <> "更新履歴" Then Application.DisplayAlerts = False a.Delete Application.DisplayAlerts = True End If Next End Sub
36 :
名無しさん@そうだ選挙にいこう :2006/06/20(火) 02:04:25
>>34 おおおおおおお!
アリガトウございます!
ネット検索しまくりの虫食い知識ゆえ断片的にしか分からなくてw
gosubとかいうので飛んで
とんだ先で条件分岐ですか。
If newsheet(b) = "" ←ここがわかりません・・・が
あ、余裕を持たせて作った配列のブランクってことか?
でもシートをカウントしてるんだからあまりの配列まで参照・・・あれ?
>>36 該当のシートがないと削除する時エラーが出るので、
その際にブレイクする為です。
>>37 な、なるほど・・・なんとなく分かりました。
レベル高いな・・・虫食い知識じゃ太刀打ちできないや。。
ありがとうございました。
>>35 for each・・・ってのはつまり
「今あるシートをシートの数だけ順番に参照」っていう
ことを一気にできるわけですか!
すげえ・・・ためしてみます
笑い話ですが 消したくないシート名が 「更新履歴」じゃなくて「更新内容」だったので 3回ほど消えてしまいビビリましたw まあ保存せずに閉じて事なきを得ましたが おやすみなさい
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65536行以上に増やす ・ 条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA) ・ 行の高さを0.25きざみ以下の単位で指定する ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト) ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) ・ 祝日を判断する (作業セルに祝日を列挙、VBA) ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合) ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する ・ 罫線幅の自由指定 ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA) ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整) ▼操作 ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成) ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA) ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA) ・ 選択範囲から一部を除く ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える) ・ 1セルを分割 (分割したいセル以外を結合)
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
↑テンプレ病発生!!感染にご注意
FAQやがな
ああ、「これなら
>>43 にも答えられる」って機会を奪って悪かったな。
46 :
名無しさん@そうだ選挙にいこう :2006/06/20(火) 23:38:24
長すぎて目障りなだけだから別スレ立てろ。 ウザすぎ。
質問者に使わせるテンプレ(質問雛形)と 回答簡略化に使うFAQの違いが解らない子が居ますね( ̄ー ̄)ニヤリ
そういうのをトータルしてルール厨のやることを 「テンプレ病」と言う ほら、型にハマってないとギャーギャーわめくじゃん
そうあからさまに幼児性を全開にされると笑うしかないな。
50 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 11:25:47
数字の@から順にSまで入力してますが、21以上が出来ません。 どうすればよいでしょうか。 エクセル2003使用です。
丸付き数字は無理
>どうすればよいでしょうか。 あきらめればよい。
53 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 12:06:37
数字の上に○の図形を合わせれば出来る 微調整が必要だけどね
A@、AA、AB、AC、、、、
↑ お・み・ご・と
58 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 14:25:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 各行の2列目以降にデータを入力しています。 各行に関して入力してあるデータが全て一致すれば、一列目に1を、それ以外ならば0を与えたいと思っています。 ↓のように書いたのですが、うまくいきません。誰か教えてください。 Sub test() Dim i As Integer Dim j As Integer i = 1 j = 2 Do Until Cells(i, j).Value = "" Or Cells(i, j) <> Cells(i, j + 1) If Cells(i, j) <> Cells(i, j + 1) Then Cells(i, 1) = 0 Else Cells(i, 1) = 1 End If j = j + 1 i = i + 1 Loop End Sub
iとjと両方変化させないと良いのでは?
60 :
58 :2006/06/21(水) 14:39:43
iとj別々にということですか?
Loopの中にLoop
データが数値だけならMAXとMINを比較してもいい
63 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 15:16:56
質問させてください。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel20003 セルA1に投資額 B1に回収額 C1に収支として =If(A1=0,””,B1-A1) とした単純な計算で、 下方のセルへ同じ内容の数式が続きます。 C1が 10000 を超えた場合にセルに色を付けたいと思い、条件付書式で ≪セルの値が≫ ≪次の値以上≫ ≪10000≫ でセルの書式を緑に設定しました。 その結果、10000以上の場合は セルが緑になるのですが、A1 に何も入ってない行でも緑色になります。 下方向は曜日でA列に何も数字が入らない日でもC列に 0 と返ってくるのがいやなので上記のif文にしたの ですが。 なぜでしょうか?
64 :
63 :2006/06/21(水) 15:20:51
上記の文の流れがおかしいので再度、カキコします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel20003 セルA1に投資額 B1に回収額 C1に収支として =If(A1=0,””,B1-A1) とした単純な計算で、 下方のセルへ同じ内容の数式が続きます。 下方向は曜日でA列に何も数字が入らない日でもC列に 0 と返ってくるのがいやなので上記のif文にしました。 この内容で C1が 10000 を超えた場合にセルに色を付けたいと思い、条件付書式で ≪セルの値が≫ ≪次の値以上≫ ≪10000≫ でセルの書式を緑に設定しました。 その結果、10000以上の場合は セルが緑になるのですが、A1 に何も入ってない行でも緑色になります。 なぜでしょうか?
【1 OSの種類】 WindowsNT4.0 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 指定セルのデータを消すボタンを作ったのですが、このままだとボタンを押すと即消去なります のでボタンを押すと選択画面が出てきて 「データを消去します。よろしいですか?」「はい」「いいえ」 と表示する画面を作るにはどうすればよいでしょうか? 古い環境ですが宜しくお願いします。 Private Sub Button1_Click() Range("A1").Clear Range("A2").Clear Range("A3").Clear Range("A4").Clear Range("A5").Clear Range("A6").Clear End Sub
>>64 数値と数値で無いものを比較しておかしくなっちゃったんだね
「数式が」にして数値で無い場合にも対応すればとりあえず回避できる
67 :
58 :2006/06/21(水) 15:31:05
ありがとうございます。62さんの方法だとVBA使わなくて済みそうですね。
68 :
64 :2006/06/21(水) 16:18:22
>>66 返答ありがとうございます。
早速、条件付書式で
≪数式が≫ ≪=C1>=10000≫ と入力してセルの色を設定しましたが、残念ながら
A1に何も入れない状態ですと 色が着きました。
C列に =B1-A1 だけで条件付書式を設定しますと当然のごとく10000以上の時だけ
セルに色がつき、A1に未入力でも色は着きません。
もう一つ条件付書式に納得いきませんが、エクセルとはこういうものなんだ と思う意外ないので
しょうかね。
ISNUMBERも使って数値のときだけ比較するようにする
>>65 MsgBox関数を使うといいよ
If MsgBox("いいのかい?俺はノンケでも構わず消", vbYesNo) = vbYes Then
Range("A1:A6").Clear
End If
71 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 16:34:15
>>68 =AND(C1>=10000,C1<>"")
こんな式もある
72 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 16:38:17
Excel超初心者です。しかもMac用を使っています。 ご存知の方いらっしゃいましたら、ご教示願います。 【1 OSの種類 】 Mac OS 9.2.2 【2 Excelのバージョン 】 Excel2001 よそ様から頂いたExcelデータに手を加えて別名保存したのですが、 それを閉じて、もう一度開くと一発で開かないのです。(ウインドウが出ない状態) ウインドウメニューから「新しいウインドウを開く」にすると表示されるのですが、 「●●●.xls:4」という風に、末尾に数字がついた名前で表示されます。 お客様に提出するデータなので、普通にダブルクリックで1回で開くようにしたいんです。 なにか設定があるんでしょうか? ちなみに手を加える前のファイルは1回で正常に開きます。 別名保存したときの形式は「Excel2001 ブック」です。 よろしくお願いします。
73 :
65 :2006/06/21(水) 16:42:19
>>70 解答ありがとうございました。
これで先に進む事ができそうです。
74 :
anan :2006/06/21(水) 18:10:32
エクセルで同一セル内の文字列の置換方法についてお聞きします。 同一セル内に --- <FONT COLOR="red">70%</FONT> <FONT COLOR="red">70%</FONT> <FONT COLOR="red">70%</FONT> --- と打ち込んだあと、2行目の"red"だけを"blue"に置換したいのですが、 "red"で検索するとセル単位で検索がヒットし、 "blue"に置換するとセル内の"red"が全て"blue"に置換されてしまいます。 目視確認しながら置換したい部分だけを検索置換していきたいのですが、 どうすればできるでしょうか?
75 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 18:50:39
お願いします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ? 集計のためのシートを作っています。 A2 B2 A3 B3 ・ ・ A20 B20 たとえば、 2の列に、(りんご ばなな みかん)を入力して、 3の列に、(大黒 中田 宮本)と入力します。(リストより 選択で) その後、りんご-大黒 りんご-中田 りんご-宮本 ばなな-大黒 ばなな-中田 ばなな-宮本 みかん-大黒 みかん-中田 みかん-宮本 のそれぞれの数をカウントしたいです。 りんご・ばなな・みかんのそれぞれの総数、大黒・中田・宮本 の総数のカウントはできました。 =COUNTIF($A$2:$A$20,A30)とかで。 どうやればできるんでしょうか。
76 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 18:53:17
ごめんなさい! 2の列→Aの列 3の列→Bの列の間違いです。
77 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 18:53:54
78 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 18:58:21
乱数を使ったシミュレートを行おうとしています。 f9を押すと、乱数が作り直されて、乱数を用いた式で出た値が変わりますよね? f9更新のたびに変わる、毎回の値を記録しておく方法は無いんでしょうか。
79 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 19:05:08
75です。わかりました。 ありがとうございました。
excel2000です。 例えば1月の売り上げを抜き出して合計するなら、 =sumif(a1:a10,"2006/1/*",b1:b10) てやればいいだろうと思ったのですがうまくいきません。どうしたらよいのでしょう。 =sumif(a1:a10,"2006/1/2",b1:b10)なら1月2日の分を合計してくれるんですが。。。
81 :
80 :2006/06/21(水) 20:11:26
補足です。 日付の列の表示形式は「分類」が「日付」で「種類」が「月日」になっています。
82 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 20:40:07
>>80 =SUMIF(A1:A10,"<=2006/1/31",B1:B10)
83 :
80 :2006/06/21(水) 21:17:11
>82 どうもありがとうございます。 でも、2月の場合はどうするのでしょう?
84 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 21:57:38
>>83 SUMIFでは条件を2つ指定できないので無理ですね(´-`)
月だけ別セルに抜き出すか
オートフィルタでSUBTOTALしかないかな
85 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 22:17:11
>80 2月までの合計と1月までの合計の差 IF(〜)−IF(〜)
86 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 22:25:28
指定範囲セル内のテキストデータのみをコピーする方法ってありますか? 普通にやろうとすると A1 B1 ←こんなセルがあるとして、これをコピーしてA2に貼り付けすると A2=A1 B2=B1 ってな感じになりますよね。で、私がやりたいのはこれが A2=A1+B1 という1つのテキストにしたいんです。CSV形式で考えるとA2="A1,B1"ってな感じ)
88 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 23:05:45
>>80 作業列使うのが一番らくだと思うけど使わないなら
=sum(if(year(a1:a10)&"/"&month(a1:a10)="2006/1",b1:b10))でctrl+shift+enter
で配列使ったら出来ると思う
89 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 23:06:26
90 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 23:26:31
エクセル2002を使っているのですが スクロールしてもシート上に常に表示をさせておきたいセルがあるのですが カメラ機能は別シートじゃないと使えないみたいだし、何か方法ありませんか?
>>90 メニューのウィンドウ→ウィンドウ枠の固定か分割
92 :
名無しさん@そうだ選挙にいこう :2006/06/21(水) 23:36:01
>>91 ありがとうございます
画面の右半分を占めてるものを固定したかったのですが
縦方向はスクロールバーが一個しかなくて両方一緒に動いて無理みたいです・・
>>92 ちょっと意味がわからないけど、
一時的でよいならウィンドウ→新しいウィンドウを開く
94 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 02:32:46
質問ですが、学校のExcelには、「ツール」のところに「分析ツール」が入っているのですが、 自宅のExcelにはありませんでした・・・ 今まで使わなかったので気づきませんでしたが、 自宅でもデータ分析ができるようにしたいので・・・ これはバージョンのせいでしょうか? ちなみに自宅はExcel 2002です。 どなたか教えて下さい。
>>94 officeのインストールCDに入ってる。選択的にセットアップできる。
97 :
97 :2006/06/22(木) 09:23:48
OSの種類: Windows XP Excelのバージョン: Excel 2000 VBAでの回答:否(全く使えない ) −−−−−−−−−−−−−−− 質 問 −−−−−−−−−−−−−−− B列にランダムに入力されてる文字データを並べたいのですが 数字の部分は当然ですが、下記のようになってしまいます 【例】 [1]→[120]→[14−1]→[36]→[5B]→[67]→[9−3] これを文字列のまま [1]→[5B]→[9−3]→[14−1]→[36]→[67]→[120] この順に並べ替える方法を教えてください 今は、データを見ながらA列に連番を入力して並べ替えたり、 ドラッグして入れ替えたりしています。
98 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 11:15:14
エクセルファイルとテキストファイルを比較(2つの列)して、 変更点などを調べたいのですがどのような方法が簡単にいくでしょうか?? テキストファイルには空白の行があったり、#で始まる列は比較はしなくていいなど、 なにかと面倒です。 目視で比較してく方法もあるのですが、気が滅入ってきました。 よい方法、ソフトがあれば教えていただきたいです。 お願いいたします。VBAは使ったことがないです・・・
意味不明
100 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 11:35:01
Excel2002で"a6-27"と入力すると日付型になります 2000や2003ではそうならないのでずが、どうして? しかもそのブックを保存して2003で開くとフォントがおかしい
2002だから仕方ない
2002はバグだらけだから使うのやめたほうがいい
>>100 俺も2002だけど日付にならんぞ
変なことしたんじゃない?
104 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 12:22:22
バグバグですか、そして再現しない方も居ると。 うちの職場にある2台の2002環境では再現性有りでした。 2002を切捨てられれば良いのだけど、困ったなぁ
105 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 12:53:01
私は高校生です。卒業後バイトでワードエクセル等を使いたいのですが、 当方全くの初心者でして何をやればよいのかわかりません。 とりあえず、何か参考書を買おうと思ってテンプレ参照しにきたのですが、 ない様なので、どなたかオススメの参考書を教えて頂けますか?
>>105 ネチケットや教えて君って知ってる?
なんでも他人に聞いてるようじゃ使えるようになるとは思えない
>>105 本屋行って立ち読みして合いそうなの買いな。
実際の業務に合わせて勉強するんじゃ無ければ、
一通り載ってる問題集ベースの奴が向いてるかもね。
>>100 それって何年何月何日扱いになるの?
タイムゾーンの設定とかでその書き方が日付な地域があるのかも?
109 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 13:06:19
>>107 レス有難うございます。
結局そんなもんなんですね、参考書なんてのは。
わかりました。
業務内容は分かりませんが、役所でバイトしたい程度です。
それでは、本屋行ってきます。
111 :
100 :2006/06/22(木) 16:15:12
112 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 16:49:27
どうしても分からないので、二つ質問します。 1)左詰めインデント無しのセルの、左側に太い罫線を付けたとき、先頭の文字によっては罫線とくっついてしまいます。インデントでは離れ過ぎて印刷に支障あるのですが、半角空白を入れるのも手間がかかります。罫線と文字の間隔を調整することはできないのでしょうか? 2)セル幅を自動調節して、画面上は文字列より十分広めの幅に見えるのに、印刷プレビュー・印刷結果共に文字切れになることがあります。プレビューを見ながら手動調節する以外の回避策はないでしょうか? 宜しく御願い致します。
113 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 17:36:27
>>112 1)表示形式のユーザ定義で文字の先頭にスペースを入れる
0;−0;0;" "@ (合ってるかは確認して)
2)ない
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 Worksheets("sheet1").Range("A1:D1").Copy _ Destination:=Worksheets(A1).Range("A5") ↑ セルA1に入っている文字列と同じ文字列のsheet名がすでにあります。 そのsheetの該当セルにコピーするには↑のところをどう書けばいいでしょうか?
116 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 19:37:14
質問です。 Excelって差込印刷できないのでしょうか? Excelデータを利用してWordで差込印刷をする方法は 見つかったのですが、Excelデータを利用してExcelで 差込印刷をしたいのです。 使用しているのはExcel2000です。 うちの職場には顧客に案内状を送付するという作業があります。 案内状はExcel2000で作成されてまして、顧客コードを あるセルに入力すると、VLOOKUP関数で色んなセルに数値 が入るようになっています。 今まで、顧客コードを入力しては印刷する、ということをしてきた そうです。 せめていちいちカーソルをファイル→印刷と動かす手間を省こうと マクロをきってみたのですが、うまくいきませんでした。 ちなみにそのマクロのコードは、 Range("A2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub です。いちいちツール→マクロ→マクロを実行、とやらないと 印刷されないんです。 どなたか解決策をさずけてください。よろしくお願いします。
117 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 19:54:29
>>115 そのシートがアクティブとして
myname = ActiveSheet.Range("a1").Value
Worksheets("sheet1").Range("A1:D1").Copy _
Destination:=Worksheets(myname).Range("A5")
118 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 19:56:09
119 :
名無しさん@そうだ選挙にいこう :2006/06/22(木) 20:00:00
>>118 すみません・・・。
でもどうゆう風に説明したらいいのかもよくわかりません。
Enterキーを押したら自動的に印刷できるマクロが知りたいです。
Excelで作った表を使って、Excelで作った案内状を差込印刷
したいです。
そのやり方がわからないのでこちらに書いてみました。
120 :
112です :2006/06/22(木) 20:00:05
>>113 1)書式には気づかずにいました。これなら簡単ですね。
2)やはりないですか。仕様なんですかね。
有難うございました。
VBAでCSVファイルを吐き出していますが、 ファイル名に現在の日時を後ろにつけるのはどうやればいいでしょうか?
122 :
115 :2006/06/22(木) 20:04:17
>>121 "ファイル名" & NOW()
あたりじゃないか?
dim namestring as string namestring = ファイル名 & format(date, "yymmdd") & ".csv"
125 :
97 :2006/06/22(木) 21:14:54
>>97 数字(文字列)データの並べ替えの件
何かいい案を、お持ちの方居られませんか
>>125 どういう条件で並べ替えたいかよくわからんが
ワークシート関数を駆使して並べ替え用のキーを生成すればいい
VBEでワークシート単位でCSVファイルを出力させたいんですが CSVファイルを出力させる共通関数を作成し標準モジュールにおくと、 この共通関数を呼び出すブック全体ですべてのワークシートがCSVファイルを 出力してしまうんですが、 ワークシート単位でファイルを出力する関数はどうやって作成したらいいでしょうか? (共通関数をワークシートごとにおくと1シートづつファイルを吐き出してくれます。)
130 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 01:42:09
【1 OSの種類 .】 Windows2000、ME 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 デスクトップ上で右クリックから新規作成でエクセルのファイルを作ると 隠しファイルになってしまいますがこれを回避する方法はありますか? エクセルファイルのみで上記症状が出ます
2007におけるマクロの互換性の話ってどうですか? とりあえず俺は UserInterfaceOnlyでシート保護したときの Range.Interior.Color = x ができなくなっている事に気づいた。 今まで出来てたのに2007ではランタイムがでる・・・
すれ違いだな 議論スレに池
>>129 >>4 ・8
>>130 テンプレートの属性を確認。
Excelだけで起きる現象でも、右クリックメニューからの新規作成の問題は
Windowsの問題なので、あとはWin板でどうぞ。
>>131 正式版が発売になってからまた来てね。
というか、出来る出来ないという二極の仕様の話はMSに聞いて。
134 :
97 :2006/06/23(金) 08:36:55
昨夜知人が来てレクチャーを受けたところ、簡単に出来ました。
お騒がせしました。
>>126 レスありがとう
条件は
文字で 1/2/3/10/11/12 とある場合
並べ替えると 1/10/11/12/2/3 となってしまうのを
文字列のまま数値の小さい順に並べ替えたいということです
データはコントロールポイントの名称で
数字やアルファベットで構成されてます
>出来る出来ないという二極の仕様の話はMSに聞いて。 試せば分かることを聞くのはやめようよ・・・
分らないんだから聞かなきゃ試す事も出来ないでしょ 禅問答みたいだけど、よく聞け! 何が分らないのかを、分る様になるまでには経験が必要なんだよ。 これが分れば一人前の第1歩という人もいる。 ここで質問・解答する事も経験の1つ、 ひねくれ屋の揚げ足取りがボヤクな、
>>136 よく嫁
質問者は自分で試した上での発言だぞ
>>136 的外れな指摘は恥ずかしいw
出来なくなってることを話題にしてるだけ
>>137 揚げ足を取るが
質問者ではないw
139 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 13:38:14
数字を入れて、別ファイルの文字列を表示させたいのですが、どうすれば良いでしょうか。 ・やりたいこと シートAで10と入力すると、よこのセルにAAAと表示される。(他の顧客マスタから参照) 要するに数値をいれるだけで隣のセルにその数値に対応した名前を出したいです。 よろしくお願いします。
>>139 意味が良く解からん。他のブックを参照したいなら
='C:\[Book1.xls]Sheet1'!A1
などと組み合わせて
141 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 14:25:52
>>136 に言わせると
>>139 は
何が分らないかが分ってないヤツだな
>>139 関数のVLOOKUP,HLOOKUP,LOOKUP,INDEX
この当りを調べてごらん
VLOOKUPワークシート関数でいいんじゃない?
1枚のシートの1つのセルに 「平成18年 月 日」と日付を入れて ○月1日から30日と日付を変化させて1日1枚づつ印刷したいんですがどうすればいいでしょうか? 【1 OSの種類 .】 WindowsXp 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】
144 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 21:33:32
>>143 情報が少ないな
一つのブック?
一日の欠けも無いのか?
ブック全体の印刷でもいいの?
そのシートが何日かはドコで判断?
145 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 21:39:54
A1に「**市」「**町」「**村」という市町村名を入力し B1に、市であれば1 町であれば2、村であれば3という数字を 表示させたいため、if関数をつかっているのですが、 A1に、市を含む場合には1という検索方法はあるのでしょうか?
146 :
143 :2006/06/23(金) 21:48:16
>>144 今扱っているのは1つのブックです。
指定範囲の期間(3日から18日、5日から29日までなど)、日付のみを変化させ1シートのみ印刷したいんです。
そのシートが何日か判断する要素というのはブック内に現在ないです。
147 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 21:49:00
【1 OSの種類 .】 Windows XP Home 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ピボットテーブル 複数のワークシート範囲 複数のシートにある表をピボットテーブルで分析したいのですが 項目が列・行・数値・ページなどととなってしまいます。 元の表に項目として書いた日付・品番・個数といったデータを ピボットテーブルの項目に設定することは出来ないのでしょうか? ちなみに元の表は同じ形式で書かれています。
148 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 21:51:21
>>145 findで探して1以上ならあるとかは?
149 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 21:53:24
>>146 一つの印刷したいシートがあってそれを日付だけ変えて何枚も印刷したいって事?
>145 =IF(ISNUMBER(FIND("市",A1)),1,0) こんな感じかな? 町や村は自分でつくってね
>>145 =FIND("市",A1,1)とかで検索することはできる。
ただし、含むだと今市町とかの時に困るのでは?
右端に必ず"市""町""村"が有るなら、
=IF(RIGHT(A1,1)="市",1,IF(RIGHT(A1,1)="町",2,IF(RIGHT(A1,1)="村",3,"error")))
152 :
神様!教えて! :2006/06/23(金) 21:57:22
Outlookの受信トレイのメール一覧を、単純にExcelにコピペしたものを元データとして
(差出人、件名、受信日時の列があります)4月、5月、2ヶ月間のメールの受信数を、
各時間毎のグラフにしたいのですが、よい方法ありましたら教えて頂けないでしょうか!
下記に元データをCSVファイルでUPしました!(圧縮してます。パスワードは「onegai」)
http://up.arelink.net/up50/src/are0853.zip
>>152 の補足ですが、グラフの縦軸は受信メール数で
横軸は「0時〜23時」までの24時間です。
できれば縦軸が「平均受信数」の物もできれば有り難いのですが。
155 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 22:19:04
>>146 テキストボックスに入力した初期値を代入し
印刷、インクリメント
を繰り返せないかな?
>>154 ありがとうございます。
できれば、各月別にわかると有り難いのですが…。
m(__)m
D2に =VALUE(MID(C2,6,2)) で月を取り出せる E2に =VALUE(RIGHT(C2,5)) 書式設定でユーザー設定 h で、 受信の時間帯を取り出せる。 あとはアベレージやらなんやらで平均出すなり、集計するなりしたら良いのでは?
158 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 22:29:27
エクセルで書いたグラフに,そのグラフの鏡像グラフ(項目軸の真中で反転させたもの)を作って重ねたいのですが, その方法(Excel関数?)を教えてください. 数値軸にどういった数式を追加すればよいのか分かりません...
>>157 ありがとうございます!
とりあえずやってみます!
160 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 22:33:43
161 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 22:37:13
>>160 そのやり方が分からないのですが...
数値が5000行分もあるもので,相対参照を使って簡単に出来る方法ないか考えてたのですが...
何か関数orExcelの機能があるのでしょうか?
162 :
143 :2006/06/23(金) 22:39:53
>>149 はいそうです。
>>155 インクリメントというのは増加らしいですがどう操作すれば良いですか?
今までは1日・入力・印刷、2日・入力・印刷、・・・としてきたのですが簡単にできればと思い質問してみたのですが。
163 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 22:40:40
>>161 横の列に1から連番を打つ。
その列をキーにして降順ソートすれば逆順になるのでは?
>>162 >>128 のマクロみたいな感じでforループじゃなくて
range("日付の入ったセル").value=range("日付の入ったセル")+1
165 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 22:52:45
166 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 22:53:20
>>163 すみません.ソート試してみたけどうまくいかずで...
$A$1:$A$5000の各値を逆順にしたものを$B$1:$B$5000に入力したいのですが,
この場合,$B$1には何て数式を入力したらよいでしょうか?
>>166 A列をB列にコピーC列に1〜5000の連番
C列の連番をキーにしてB:Cを降順ソート
168 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 22:58:50
>>161 単純にA列をB列に天地逆の順番に代入するには
Sub test()
Dim i As Integer
Dim j As Integer
i = 1
j = 5000
For i = 1 To j
Cells(i, 2) = Cells(j, 1)
j = j - 1
Next i
End Sub
169 :
143 :2006/06/23(金) 23:00:02
170 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 23:02:26
>166 念のため聞いておくが =A1*(-1) じゃダメなんだよな?
172 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 23:39:58
173 :
名無しさん@そうだ選挙にいこう :2006/06/23(金) 23:59:34
A列に並んだ値を逆順にしてC列に表示するには、 B列に降順の数字(行数)を入れて、 C列にはINDEX関数を使う。 例えば下図の時、 A B C ------ a 4 d b 3 c c 2 b d 1 a C1は =INDEX($A$1:$A$4,B1,1) となる。たぶん。
174 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 00:16:01
>へんじがない 久々に見たな、 スレも46を数え、さすがにいなくなったと思っていたが・・・
176 :
131 :2006/06/24(土) 01:27:20
いろいろ話題にしてくれてありがとう
特に
>>132 感謝
そういうことが聞きたかったのです。
失礼しました〜〜
177 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 02:02:17
教えてください。困っています。 例えば,24秒87から12秒58を引く,1分29秒75から1分11秒47を引く。 このような計算方法を教えてください。 よろしくお願いします。
901 名前:名無しさん@そうだ選挙にいこう [] 投稿日:2006/06/23(金) 20:30:46 関数の質問です。 A1に「**市」「**町」「**村」という市町村名を入力し B1に、市であれば1 町であれば2、村であれば3という数字を 表示させたいため、if関数をつかっているのですが、 A1に、市を含む場合には1という検索方法はあるのでしょうか? 902 名前:名無しさん@そうだ選挙にいこう[] 投稿日:2006/06/23(金) 20:36:04 お 前 ら 全 員 に 告 ぐ 。 グ グ る 前 に ヘ ル プ 読 め。 903 名前:901[] 投稿日:2006/06/23(金) 21:40:45 総合相談所に異動します!
179 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 03:18:54
・行と列の表示を入れ替える ・tabキーで右にセル移動、enterキーで下にセル移動を逆にする (tabで下に、enterで右に) ってことはできますか?
>>177 75以上の数字が出てきてるから違うかも知れないが、
音楽CDの場合、1秒以下の部分は1/100秒ではなく、1フレームのことで
75フレームで1秒、つまり0:00:00.75=0:00:01.00なので、
この時間概念の定義を自分で作らないと話にならない。
1/10秒、1/100秒、1/1000秒などなら、最初から定義されているので
181の言うとおり表示形式を時刻にすればいいのだが、
時刻分類の標準定義に1/100秒を表示出来る物が無いから
ユーザー定義で作ることになる。「h:mm:ss.00」
183 :
177 :2006/06/24(土) 06:29:27
>>181-182 ありがとうございました。
そのようにやってみたんですが,引き算したらエラーになってしまいます。
何か他にコツがあるんでしょうか?
私のほうから取引先にファイルを送り、相手から修正したファイルが送り 返されてくると必ず、 ='\\PC332\共有\Documents and Settings\Administrator\Local Settings \Temporary Internet Files\OLK62\作業中\[ファイル名.xls]シート名 '!V26 という風にリンクが全部変わってるのです。 リンク更新しても、全部問題なく更新できるの良いのですが、 すごく見ずらいですし、計算式の確認をしようにもできなかったり。 これ、どうすれば良いのでしょうか? PCの使い方がアレなんだよ!と言うしか・・・
>>184 問題ないとは、\\PC332\共有\...\[ファイル名.xls] の部分は、取引先とやりとりしてるファイル本体?
(あなたと取引先で同じサーバーにアクセスできてると思えないので)
今編集してるファイルと同じなら、そもそもいらないので、ハイパーリンクを編集して [ファイル名.xls] までを削ればいいと思う。
【1 OSの種類 】 Mac OS 10.3.9 【2 Excelのバージョン】 Excel 2004 for Mac v.11.2.3 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 否 Excelでタイムカードを作って使っています。 現状は 1. 日付、出勤時間・退勤時間を手動で入力 2. 勤務時間を計算して表示 3. ワークシート内の勤務時間を合計 というようになっているのですが、 マクロなどを使って出勤・退勤時間を ワンクリックで現在時刻を入れるようなことは可能でしょうか? Excelのスキルは初心者程度ですが、よろしくおねがいします。
188 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 09:50:43
190 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 10:05:12
>>177 参考資料(雑談スレより)
◆日時を表すシリアル値の構造
日付(整数部) : 1900年(1904年)1月1日を1とした連続番号
時間(小数部) : 1時+1分+1秒=1/24+1/24/60+1/24/60/60
シリアル値【1.05255】は→ 1900年1月1日12時36分43.2秒
>>187 VBAでの回答は「否」なってるけどマクロとVBAは同じ(厳密には違うけど)
>>187 [Ctrl]+[:]で現在時刻を入力できるよ
192 :
187 :2006/06/24(土) 10:56:10
>>187 ありがとうございます! ショートカットでできました。
そのままだとできなかったのでヘルプから調べて、Macだと
・コントロール+セミコロン→日付
・コマンド+セミコロン→現在時刻
でした。打ち込むよりだいぶ楽です。たすかった!
193 :
187 :2006/06/24(土) 10:56:46
194 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 11:36:35
こんにちわ。 データを別のシートと関連付けることは可能ですか?
195 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 11:43:20
>>194 データの形式は?
別ファイルとの関連付け?
情報不足
196 :
145 :2006/06/24(土) 11:43:32
>>151 ありがとうございました! 解決しました。
197 :
194 :2006/06/24(土) 11:46:35
ワークシートです。シートの1列を別シートに反映させたいのですが。。。
198 :
194 :2006/06/24(土) 12:00:40
検索したらわかりました。 =’シート名’セル ですね。。。
【1 OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excelたぶん98 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセルで文書を書いてるんですが〜年〜月と上下ニ列に 記入するところがあるのですが数字を入れると最初の年だけは 上下とも 1888年 7558年 と上下綺麗に書きこめるのですが月になると途端に上下の月の所がずれます 12月 1月 こういうのを上下綺麗に月の字を並べるにはどうすればいいのですか?
201 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 13:33:30
>>199 セルの書式設定で、
表示形式もしくは配置
【1 OSの種類 .】 Windows98/2000/XP 【2 Excelのバージョン 】 Excel97/2000 VBAの事で質問です。どうか御力をお貸し下さい。 1.望む事象 ・良くある見積書で、「税込」「税抜」のどちらかを楕円(Shape) で囲みます。金額欄に”消費税”の欄があるので、「税込」が囲まれて いた場合は小計x0.05の金額を表示します。 2.手段として考えている事 ・「税込」「税抜」ボタンを作り、「税込」ボタン押下時は「税込」の Shape.Valueをtrue、「税抜」のValueをFalseに。「税抜」ボタン 押下時はその逆を行います。 小計欄変更時、「税込」のValueがTrueなら、消費税を算出します。 3.質問事項 ・VBA上で「税込」「税抜」のShapeに対し、Value値を設定出来ません。 ”選択されたオブジェクトの位置を動かす”という簡単なマクロを 登録し、BrakePointで止めた所、Selection#Nameプロパティが ”Oval7””Oval8”だったので、 me.Shapes("Oval7").Value = true の様なソースが書きたいのですが、どの様に記述すれば宜しいですか? PS.OSとExcelのバージョンが複数記述されていますが、クライアントのPCが Win98〜XPとなっている為です。
【1 OSの種類 】 Windows XP 【2 Excelのバージョン】 Excel 2003 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 折れ線グラフを作る際に、X軸、Y軸を自分で設定し、 任意の点でグラフにプロットして作成することは可能でしょうか?
Visible をフラグに使えばいいんでね。
206 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 16:57:13
VBAマクロで、特定のセルをCells(i, j)ではなく、変数名でアクセスする方法は ないでしょうか。たとえば、Cells(1, 1), Cells(1, 2)にそれぞれ単価、数量が 入力されているときに、Cells(1, 3)に金額を計算して代入する式は以下となります。 Cells(1, 3) = Cells(1, 1) * Cells(1, 2) しかしこれでは、式の意味がさっぱりわかりません。なのでこの式を例えば 金額 = 単価 * 数量 と書けば、同じ効果が得られるようにしたいのです。ここで、 金額、単価、数量に対応するセルの番地は別の個所で宣言され ているものとします。 よろしくおねがいします。
dim 金額 as integer dim 単価 as integer dim 数量 as integer 単価=cells(1,1).value 数量=cells(1,2).value 金額=単価*数量
>>206 CellsやRangeを使いたくないということではなく、
数値指定では明示性が無いから日本語での明示性を出したいということなのだから
Private Const 単価 = "A1"
Private Const 数量 = "A2"
Private Const 金額 = "A3"
Private Sub test()
Range(金額) = Range(単価) * Range(数量)
End Sub
とすれば良いのでは?
それに、Rangeを使った方が、単に変数を使った演算ではなくセルの値を使った演算だという意味が出る。
CellsやRangeを使わないことが目的ではなく、数値インデックス指定の明示性の無さを解消するのが
目的なんだからこれでいいはず。「式の意味がさっぱりわかりません。」とかは単なる前フリで、
実は「金額 = 単価 * 数量」のやり方を知りたかっただけとか後出しで言わないでね。
dim 金額(100) as integer dim 単価(100) as integer dim 数量(100) as integer for i =1 to 100 単価(i)=cells(i,1).value 数量(i)=cells(i,2).value 金額(i)=単価(i)*数量(i) next i このほうがいいかな?
金額が出力されない件について。
式の上にコメントで書いておけば良いやん というのは無し? w
セルに名前をつけて「[名前]」って書く
213 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 18:46:31
>>208 >「式の意味がさっぱりわかりません。」とかは単なる前フリで、
>実は「金額 = 単価 * 数量」のやり方を知りたかっただけとか後出しで言わないでね。
意味不明
214 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 18:49:41
215 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 18:57:03
>>208 の最後の2行こそ「何か嫌なことあったの?」って感じなんだが。
216 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 19:13:57
ビクビク早漏回答者ちゃんなんだからそっとしといてやれよwwww
217 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 19:41:26
普通は何回か意見の交換して解決するのに、それができないんだろうな。 自分の提示した案が否定されることが、自分が否定されたように感じるんだろうよ。 Excelの知識はあるかもしれないけれど、明らかに精神障害です。 ちゃんと病院行って他人とコミュニケーションできるようになって下さい。
218 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 20:11:16
時間の秒の小数点を表示させる方法がわかりません。 00:10:20.5って入力しても自動的に四捨五入されて00:10:21ってなってしまいます。 すみませんがどなたか教えてください。
俺も後から話がコロコロ変わるような質問者に対しては切れ気味になる事があるが、
>>208 みたいに最初からネチネチと予防線を張るような奴は一種の強迫性障害なんじゃないかと思える。
220 :
218 :2006/06/24(土) 20:31:22
自己解決しました。お騒がせしました。すみません。
221 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 20:38:18
可哀想な子が多いなw
222 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 20:42:15
自己解決したとだけ書いてどう解決したか書かない奴って何なの? 気になるじゃない(´・ω・`)
A B C D 1 品物 個数 品物 個数 2 a 2 a 5 →(1) 3 b 3 b 3 →(2) 4 c 3 ⇒ c 6 5 b 0 6 c 1 7 c 2 8 a 3 C,DはA,Bの累計なんですが(1)、(2)の関数がなかなか使えません。 DSUMでしょうか?それともこのような形ではできないのでしょうか。 よろしくお願いします。。。
224 :
名無しさん@そうだ選挙にいこう :2006/06/24(土) 20:59:44
>>223 なんで(1)(2)になるのかがわからない
225 :
223 :2006/06/24(土) 21:02:58
すみません。D2,D3,D4のセルの計算式がわかりません。 【1 OSの種類 】 Windows XP 【2 Excelのバージョン】 Excel 2003 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 よろしくお願いします
SUMIF
ピボットテーブルとかどうよ
228 :
223 :2006/06/24(土) 22:20:29
A B C D E F 1 品物 サイズ 個数 品物 サイズ 個数 2 a M 2 a M 3 3 b L 1 a L 2 4 a M 1 → b M 0 5 c M 0 b L 2 6 b L 1 c M 0 7 a L 0 c L 1 8 c L 1 9 a L 2
ピボットテーブルだな
ピボットテーブルに違いない
231 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 00:54:48
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A B 1 9:00 りんご 2 10:00 3 11:00 みかん 4 12:00 ばなな 5 13:00 6 14:00 ぶどう というような予定表があります。ここに入力した時に、これとは別のシートに自動的に A B 1 りんご 9:00 2 みかん 11:00 3 ばなな 12:00 4 ぶどう 14:00 というような結果の記録表を作成することは可能でしょうか? 関数を使ってデータを飛ばすことはできるのですが、空白セルを取り除く方法がわかりません。 『空白セル』『詰める』などで検索してみましたが、ジャンプで空白セルを選択して その後に削除する方法では、罫線がずれてしまい使えません。 パソコンに詳しくない人間も使用するため、できるだけ「自動的に」(もしくはそれに近い形で) 予定表への入力結果が記録表に反映されることを望みます。 どなたか知恵を貸していただけないでしょうか?よろしくお願いします。
>>231 名前は一人一度だけ?
9:00 りんご
10:00 りんご
ってのもある?
233 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 01:30:19
【1 OSの種類 】 Windows XP 【2 Excelのバージョン】 Excel 2000 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否】 否 セルの中味ひとつに対して1→A、2→B、3→C・・・・・のように複数の条件で置換を行いたいのですが こういったことに向いた関数はないでしょうか? IFとCONCATENATEの組み合わせを考えたのですがこれだと対象を複数にするのが難しそうですし・・・・・
234 :
231 :2006/06/25(日) 01:32:49
>>232 返事ありがとうございます。
名前は一人一度だけです。
良い方法ありますでしょうか?
>>234 VBA不可を見逃してました(スマソ
以下チラ裏です。
1枚作業用シートを使ってA1に"名前" B1に"時間" A2に"<>0"
A5に=Sheet1!B1 B5に=sheet1!A1以下A列とB列を元の表と入れ替え
(時間と名前を入れ替え)したシートを作る。
あとはデータ→フィルタでフィルタオプション
抽出先→空きスペース リスト範囲→上で入れ替えた表
検索条件範囲→A1:B2 で一応空きスペースに空白が消えたリスト取り出せるけど…。
名前の部分が変っても自動的に更新されないので、
毎回フィルタオプションの設定をする必要がある・・・。
このフィルタオプションからの作業を、マクロの記録で記録して
実行できれば楽なんだけど。
間違えてる A5も"名前" B5も"時間" A6 =Sheet1!B1 B6=sheet1!A1
237 :
231 :2006/06/25(日) 02:23:35
>>235 レスありがとうございます。
一度、ショートカットキーを使ってマクロに記録してみます。
VBAが使えれば、他のやり方が可能なんでしょうか?
>>237 こんな感じとか。
Private Sub リスト作成()
c = 0
For i = 0 To 23 '0時〜23時
a = Worksheets("sheet1").Range("b1").Offset(i, 0) 'りんごとか入力してるB列
b = Worksheets("sheet1").Range("a1").Offset(i, 0) '時間とか入力してる A列
If a <> "" Then
Worksheets("sheet3").Range("A65536").End(xlUp).Offset(c) = a
'結果出力先sheet3のA列の開いてる行に変数aの値(りんごとか)↓はb列に時間
Worksheets("sheet3").Range("b65536").End(xlUp).Offset(c) = b
c = 1 '謎
Else: End If
Next i
End Sub
>>233 123→abcくらいなら a1="123"
b1=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"1","a"),"2","b"),"3","c")
作業セルを使うなら
a1="123" b1=SUBSTITUTE(A1,"1","a") c1=SUBSTITUTE(B1,"2","b") ・・・
あ、
>>238 は果物の名前の重複は考慮してません。
【1 OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 すいません、凄くアホな事をお聞きします A. |b〜 1:曲名 | 2:曲の長さ | 3:ファイルサイズ| 1:曲名 | 2:曲の長さ | 3:ファイルサイズ| こんな感じのデータを D E F 曲名・曲の長さ・ファイルサイズ という風に、列ごとに並ばせたいのです。 そこでD1に A(Row()-1)*3+1 と書いてみたのですが、エラーが出てしまいました。 (なんとなく無理っぽい事は分かるのですが、記述の仕方が分かりません) 参照したいセルの番地を、数式を交えて表す事は出来ないのでしょうか? 多分基本的な事だとは思うのですが、分からないのでよろしくお願いします。
なんか、簡単なんだが答える気が無くなる質問だな
242 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 07:54:20
【1 OSの種類 】 Windows XP 【2 Excelのバージョン】 Excel 2000 【4 VBAでの回答の可否】 可 Sheet1のH10の数値をSheet2のD列の最終行に代入したいのですが、 どう書けばいいでしょうか。
243 :
242 :2006/06/25(日) 07:55:53
最終行=最後尾の行ということです。
Cells(65536, 最終行を取得したい列の列番号).End(xlUp).Row
245 :
242 :2006/06/25(日) 09:05:09
ありがとうございました。最後ですが、 Worksheets("Sheet1").Range("H10").Copy Destination:=Worksheets _ ("Sheet2").Range("D65536").End(xlUp).Offset(1) でコピーはできましたが、貼り付けで、「形式を指定して貼り付け」の「値」のみを 貼り付けしたいときはどうするのでしょうか?
つ マクロの記録 つーか、コピペではなく普通にValueで代入すれば良いだけでは?
247 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 09:30:46
CopyしてPasteSpecial Paste:=xlPasteValuesを使う
248 :
231 :2006/06/25(日) 11:02:46
>>238 ありがとうございます。
今のところVBAはまったくわからないのですが
少し勉強してチャレンジしてみます。
249 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 11:04:23
>>240 D1: =INDEX(A:A,(ROW(D1)-1)*3+1,1)
E1: =INDEX(A:A,(ROW(E1)-1)*3+2,1)
F1: =INDEX(A:A,(ROW(F1)-1)*3+3,1)
こんな感じかな
250 :
242 :2006/06/25(日) 13:19:42
Worksheets("Sheet1").Range("H10").Copy Destination:=Worksheets _ ("Sheet2").Range("D65536").End(xlUp).Offset(1).PasteSpecial Paste:=xlValues これでエラーが出るんですが、なぜでしょうか?
>>250 変な繋げ方してるからじゃない?
コピーと値だけ貼り付け分ければいいと思うよ。
Worksheets("Sheet1").Range("H10").Copy
Worksheets("Sheet2").Range("D65536").End(xlUp).Offset(1).PasteSpecial Paste:=xlValues
それか値だけコピーでいいならValueの値入れるだけでもいいかもね。
Worksheets("Sheet2").Range("D65536").End(xlUp).Offset(1).Value = _
Worksheets("Sheet1").Range("H10").Value
252 :
242 :2006/06/25(日) 13:36:06
ありがとうございました。できました。
253 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 16:31:51
xp,2003,いいえ、否、「円グラフ その他」 円グラフを作成して、ある一定の数以下のものをその他としてまとめたいんですが どうしたらいいでしょうか? 空いているセルにSUMで計算してそこを範囲に含めるしかありませんか?
> 空いているセルにSUMで計算してそこを範囲に含めるしかありませんか? というか、それが基本。数式組めば自動化出来るし。
256 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 16:45:04
>>253 補助円グラフというのがあるが…
グラフでまとめるのでないなら手動ですね
>>254 >>256 素早い回答ありがとうございます。
課題の提出なのですが、セル上のデータとは別に
「その他」があると見栄えが悪くなると思いまして^^;
> 「その他」があると見栄えが悪くなると思いまして^^; 見栄えの問題なら非表示にすればいいのさ。 非表示にしたってちゃんと数式は動くし、グラフもデータを拾える。
259 :
206 :2006/06/25(日) 17:48:08
>>207-212 さん、ありがとうございました
お礼が遅れて済みません。
私のあいまいな質問を208さんが的確に
解釈して、望んでいる回答を示してくれました。
この方法でマクロを書いてみます。
212さんの方法も参考になりました。
多謝
叩かれてた割にはドンピシャかよw
261 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 18:51:33
自慢してやんの ( ´,_ゝ`)プッ
262 :
名無しさん@そうだ選挙にいこう :2006/06/25(日) 19:46:27
263 :
240 :2006/06/25(日) 23:38:26
>>249 出来ました!
ありがとうございます。
遅くなりましてすいません。
【1 OSの種類】 WindowsNT 【2 Excelのバージョン】 Excel97 【3 VBAが使えるか】 はい 【4 VBAでの回答の可否】 可 【質問内容】コンボボックスで選んだデータと対応するリストボックスの一覧の表示 【現状】 現在シート1に「発注書」シート2に「ユーザーデータ」があります。 「発注書」にあるユーザーコードのセルに値を入れる事によりVLOOKUP関数で「ユーザーデータ」シートから 「社名」「住所」「地域」「当社営業担当」「当社受注担当」などなどのデータを移し発注書を印刷してました。 【処理内容】 1、発注書シートに「検索ボタン」を作成し、ユーザーフォームで検索画面を表示 2、検索画面で「地域」と「当社営業担当」または「当社受注担当」を選び、2つのコンボボックスと対応する 「ユーザーコード」「社名」リストボックスを表示 3、リストボックス一覧から該当データをクリックすると「発注書」シートの「ユーザーコード」に値が入力される 土日と作成に悩み、環境が古く本屋にいってVBA関連の資料をあさってもExcel97に対応できるか不安で 今回こちらへ相談にきました。特に「地域」や「当社〜担当」の重複して登録してあるデータを被らないよう コンボボックスに表示するあたりが、もうお手上げ状態で良い知恵がありましたら宜しくお願いします。
>>264 解らない部分は
> 重複して登録してあるデータを被らないようコンボボックスに表示する
ってところだけなんだよね。
これは全データを重複ありで配列に入れて、適当な重複除外アルゴリズムに掛けるのが一番速いが
Excelの機能を利用して、COUNTIFで重複の有無をチェックしていく方法とかもある。
n行目のデータを追加するときに、1〜n行目をCOUNTIFに掛けて、返った値が1なら追加、2以上なら追加しないって感じ。
処理は遅いが一番手軽だろう。あとはコンボボックスはStyleプロパティをfmStyleDropDownListにしていると
リストに無い文字列をTextプロパティに設定した場合にエラーが出るから、エラーが出たら重複無し、
エラーが出なければ重複有りって判断も出来る。この辺はVBの分野なので解らなければVBスレでどうぞ。
重複除外アルゴリズムの方はExcel関係ないので紹介は控える。
遅くてもいいから手軽にやりたいか、面倒でも少しでも速い方法がいいかは自分で決めて。
266 :
名無しさん@そうだ選挙にいこう :2006/06/26(月) 18:31:54
何言ってんだかわかんねーよwww 早く病院行って来いww
267 :
白熊 :2006/06/26(月) 19:32:20
白熊のエクセル2000で例えばアクティブセルがA2000の位置で保存終了して、その後、開いたらA1000のいちが表示されてしまいます。 どうしてか、悩んで早一月になります。 どうしてか・・・気になってシンドイ。
つまらん
269 :
白熊 :2006/06/26(月) 20:48:32
すんません。 つまらんけど、どなた様かおねげえするだ。
270 :
月輪熊 :2006/06/26(月) 20:56:04
月輪熊のエクセル2000に替えろ。
271 :
白熊 :2006/06/26(月) 21:41:11
月輪熊だったら、良いのか? 月輪熊XPですか?
まだオムツの取れない子は 「Excel総合相談所・雑談・議論スレ」で遊んでもらいな。 運が良けりゃ長文の得意な兄ちゃんが、 相手してくれるかも?
雑談スレでも相手にしてもらえなかった方でつか?w
274 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 02:18:52
久々に見た迷惑野郎 400 名前:名無しさん@そうだ選挙にいこう[sage] 投稿日:2006/06/26(月) 22:46:33 Office2007を仕事用のPCに入れたらOutlookメール(Exchange鯖)が受信できなくなり、 アンインスコしても状況変わらずで、OSから入れ直す羽目になりました。 PCの調子が悪いといって誤魔化したけど。
276 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 10:23:34
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 ExcelXP 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可(ただし、VBAの問題ではないと思う) 【5 検索キーワード 】 ドラッグ&ドロップ編集, 罫線 【質問内容】ドラッグ&ドロップでセルの内容を他のセルに移動すると ドラッグ元(移動元)のセル四方に勝手に罫線が出現します。 (移動先のセルは特に問題なし)なぜでしょうか? 全く原因がわからず困っています。何かお気づきの方おられましたら、 よろしくお願いいたします。
278 :
276 :2006/06/27(火) 11:01:09
>>277 新規ブックで試してみましたが、その事象は発生しませんでした。
同ブックの新規シートでも、発生しませんでした。
ちなみに、事象の発生するシートと発生しないシートで、
作業をマクロ記録してみましたが、変わったところはありませんでした。
さっぱり解りません〜・・
279 :
276 :2006/06/27(火) 11:10:17
移動元のセルの書式設定で「罫線なし」と再設定してから ドラッグ&ドロップすると事象は発生しなくなりました。 これで対処しようと思います。お騒がせしました。 (昔の設定情報を覚えていて移動させると、以前の設定情報に戻るとか?)
280 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 12:23:21
保護されたセルを含む列をコピーして、同じフォーマットの別シートに貼り付けした際にエラーがでます。 (両方同じ場所を保護) 保護されていない部分のみ、列を指定して1行コピーしたいのですが、可能でしょうか?
281 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 12:29:53
VBAでMonthView コントロールを使う方法はないでしょうか?
>>281 普通に。
普通のやり方すらわからないなら、
ユーザーフォームで使いたいのか、ワークシート上で使いたいのかくらい書け。
283 :
281 :2006/06/27(火) 13:02:50
失礼しました。ユーザーフォーム上です。
284 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 14:23:57
1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 最大値 最小値 RANK A1に基準値があり、B1:B40にいろんな値があります。 (B1:B40のデータは昇順に並んでいます) B1:B40の値の中で、「A1よりも大きい」「最小値」を求めたいのですが、 どういう式を書けばいいでしょうか? {=MIN(B1:B40*(B1:B40>A1))} {=SMALL(B1:B40*(B1:B40>A1),2)} これをやると0が出てきてしまってうまくいきませんでした。
さて、EXCEL VBAの宿題です。 セルにアルファベットだけが入力されている場合、 そのアルファベットをインクリメントするマクロを作ってください。 AAなら、AB。 ZZなら、AAA。 アルファベットでなければ、インクリメントしません。 どんなのがスマートな解決方なのかな。
286 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 15:10:48
宿題・課題は自分でしろ
287 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 15:17:19
>>284 昇順に並んでいるなら、VLOOKUPでA1に最も近い値が取り出せる
288 :
284 :2006/06/27(火) 15:48:33
>>287 vlookupをindexやmatchと組み合わせることで解決できました。
ありがとうございます。
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel02SP3 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 祝日の日付の色を変えたいのですが、どうすればできるでしょうか。 ググって土日はできたのですが、祝日はどのサイトも「別のところに祝日リストを作っておいて・・・」 というものばかりです。建国記念日や海の日などの当たり前の祝日だけでいいので リストなしでやりたいのです。 よろしくおねがいします。
>>289 リストも作らずVBAも使わないのなら無理
291 :
名無しさん@そうだ選挙にいこう :2006/06/27(火) 16:11:39
ありがとうございました!
>>286 宿題と書いたのはほんの出来心。スマソ。
ふつーどうやってんの?
だれかヒントちょうだい。
>>293 こういう場合は一旦、下の桁を一文字目にしたり配列に展開し若い側に持ってくるようにして処理する
(つまり並びを逆にする)と処理が楽になる事があります。
アルファベット判定やインクリメントはそのまま関数としてでもコーディングすればいいです。
いじわる・・・
>>293 このばやい0が使えないので27進数で処理できないから
For i=1 to len で asc(leff()) が 65〜89 なら 1足して
chrで書き出して尾張。90 かつ左にまだ文字があるなら
その文字を同じように評価、無ければ A を足して尾張。
297 :
285 :2006/06/27(火) 19:20:52
>>294-296 ありがとー。
なんとか出来そう。
もっと簡単な方法を想像してたんだけど、意外と大変なんですねー。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 軸 表示形式 今グラフを作っているのですが、x軸の目盛りが −4 −3 −2 −1 0 1 2 3 4 となっているのを −π −π/2 0 π/2 π と、πをつかって表示したいのですが、どうすればよいでしょうか。
>>293 英字列を26進数に変換→インクリメント→26進数を英字列に変換
>>297 >もっと簡単な方法を想像してたんだけど、意外と大変なんですねー。
失礼
>>297 まあお前みたいな馬鹿には思いつかない方法だからな
↑ ネットでしか威張れない香具師
神経過敏な奴が多いな
余計な一言いって 気分を害することもないだろ 常識ないのかね・・・
>もっと簡単な方法を想像してたんだけど なら聞かずに自分でなんとかしろよ
わからないから聞くんだろw なんで喧嘩腰なんだ
感じるんじゃない、考えるんだ!
簡単だと思ったことを聞くのは失礼 それなら自分でやってみて それで難しいと感じてから質問すべき
ユーザーフォームのトグルボタン等のキャプションの文字カラーとサイズを 変更しようと、プロパティーのフォントのところにある、「…」ボタンをクリックしたら、 3分くらいフリーズするのですが、VBAで変更する以外に対策方法が有るようでしたら お教えください。 【1 OSの種類 .】 WinXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル フォント EXCEL FONT 遅い
311 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 08:29:28
>296 LeftではなくRightでした >299 ZZの次はA00ではなくてAAAになるけど どうやって26進数に直すの?
16進数が0-9 a-fだから 26進数は0-9 a-p
313 :
297 :2006/06/28(水) 10:37:39
うーん、たいした意味ではなかったのだけど、気分を害した人がいるのか、スマソ。 まあ、多めに見てよ。 自分でやると長く時間掛けてできるかもしれないけど、間違った物とか無駄に長くなるものになりそうだったから 。 そういうことってない?だから聞いてみるとか。
考えずに「人に聞いたほうが早い」とか言う奴はDQN
おまいさんはアレだ、悪人ではないが意図せず人の神経逆なでして嫌われるタイプだ。 一言多いっちゅうか ところでここで聞いていいかわからんが、該当板やスレが見つからなかったのでお尋ねします。 旧式マクロ(SET.NAMEやらGET.DOCUMENTやら)を扱ってる本やスレや講義サイトありませんかね。 「EXCEL マクロ GET.DOCUMENT」でググっても全然知りたい内容のページは出てこなくて。 (VBAだけとか。時局柄当然なのだが) 知ってる人がいたらどうかお教えを
316 :
297 :2006/06/28(水) 11:57:49
>>315 その指摘合ってるかも〜。一言余計な人かもしれない。ちょいと気をつけます。
317 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 12:05:21
>>312 だからその26進数と記号をどうやって対応させるんだ?
記号 十進 二六進
A 1 1
B 2 2
…
Z 26 p
AA 27 10
AB 28 11
>>318 >だからその26進数と記号をどうやって対応させるんだ?
質問者はこれを聞いてるのでは?
>>311 A,B,C,・・・,Zを0,1,2,・・・,25と考えればいいんじゃね?
>>311 A-Zで一つのまとまり
A-Zだと0の代わりがないから
Zの次はAA
ZZの次はAAA
数字だと9-9で一つのまとまり
9の次は10
99の次は100
そうすると、Z の次は BA になってしまう、、、
ローマ数字の考え方と一緒 A-Zで26 AAの最初のAが26のこと BAのBは52のこと A-Zで0の概念があればBAなんだけどね
あ、26進数じゃなくて27進数にしないといけないのか。
327 :
324 :2006/06/28(水) 15:54:22
なるほど
27進数でもだめ
一桁目のAを0二桁目のAを1と考えるってこと?
セル A1 は A 01 と書いても同じだけど AA 01 は間違いだよね これで通じるといいんだけど・・・
確かに27進数と考えても駄目だな・・・ インクリメントという言葉で騙されるのか・・・
0のない26進数と 0のある10進数ってことか
数字が 1-9 (9文字)の次が 10-19 (19文字)で 20-29 (29文字)ってなるから 最初の9文字が不思議
334 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 16:37:45
ハイパーリンクについて。 EXCEL2003の[ツール]→[オプション]→[全般]→[webオプション]→[ブラウザ] で使用するブラウザを選択しようとしましたが、いくつか決められた中でしか選べません。 Sleipnirというブラウザでハイパーリンク先を開くにはどうすればよろしいでしょうか。 宜しくお願いします。
範囲、0-Zにして、 9--> A Z--> 00 AZ--> B0 みたいなのはどうすんだ。
336 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 17:15:51
MOD(n,26)=? ?=A〜Z LOG(26,26)→1→? LOG(676,26)→2→A? LOG(11756,26)→3→AA? LOG(456976,26)→4→AAA? LOG(11881376,26)→5→AAAA?
2007だとXFDまでしかないんだな ZZZまでつくりゃいいのに
元の質問だと数字に置き換える必要ないのでは?
339 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 18:11:45
すいません。excel2003での質問ですが、テキストボックスに挿入→図→ファイル からの画面で、ファイルでうまくいきません。wordではテキストボックスで画像を 挿入できますが、excelは、無理なんでしょうか?また、セルにマウスポイントを 置くと、右に▽みたいなのが出てきて、東京 大阪とか選べるような設定方を教えて 下さい。
ZZZ だと仕事中寝てしまいそう、、、
341 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 18:46:12
ZZZ だと11,881,375列 スッゲー 使い道が分らん
342 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 19:03:08
>>339 >右に▽みたいなのが出てきて、東京 大阪とか選べるような設定方
リストボックス
>341 おまいの計算の方がスッゲ〜
0は""であるとすれば27進数でいけるんじゃないのか?
無理だろ
あ、10がダメなのかスマソ忘れてくれ(´・ω・`)
348 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 20:39:28
>>343 ありがとう。テキストボックスでの画像は貼り付けられますか?
催促うざ
350 :
343 :2006/06/28(水) 21:59:28
351 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 22:31:52
excel2003,winXPです。 PIVOTを組んでそのデータで計算したいのですが PIVOT内の数字が全部絶対値になっています。 PIVOTテーブルのデータが絶対値にならない設定方法はありますか?
352 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 23:05:40
以前、エクセルを使わないと思い、プログラムを削除したんですけど 今日、エクセルを使いたいと思い、office xpのパーソナルていうパソコン購入時についていたCD-Rを 挿入してみたのですが、空回りをするだけで、ディスクが挿入されていない状態になります。 (使えないCD-Rを入れた時のよう) 他の普通のCD-Rはちゃんと起動します。またofficeのツールのほうも同じように空回りします。どうしたらexcelのプログラムをインストールすることが出来るのでしょうか? またパソコンをリカバリしてすべてを入れなおすほうがいいのでしょうか? 誰かわかる人がおられましたら、教えてください。よろしくお願いします。
>>352 CDに傷が付いてるとか汚れてるとかじゃね?
354 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 23:12:53
>>353 そんなに大した傷とか汚れは無いんですね。
それにパーソナルとツール、両方使えないと言うところが引っ掛かるんですね。
ごめんなさい、変な質問をして・・
単純にドライブの問題だろ
356 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 23:30:29
>>355 あの、ドライブの問題とはどういうことなんでしょうか?
どうすればインストールできるようになるんでしょうか?
教えていただけませんか?
357 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 23:38:52
なんでCD-Rなのさ 普通CDだろ 正規品じゃないんじゃないの
358 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 23:42:27
>>357 ああ、そうです。
CDです。ごめんなさい
359 :
名無しさん@そうだ選挙にいこう :2006/06/28(水) 23:47:53
>>358 他のPC(友達のでもいいから)で
試したらいい
360 :
たく :2006/06/29(木) 01:42:31
教えてください。 1系列の散布図グラフにしたいデータが複数行・複数列あるのですが、 普通の散布図の作り方では1列ずつ別系列になってしまいます。 今は地道に同じ色にしてごまかしてますが、いつも時間を喰って困ってます。 複数行複数列のデータを一系列の散布図にしてしまう方法はありませんか? よろしくお願いしますm(_ _)m 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否
362 :
たく :2006/06/29(木) 09:05:03
>>360 雑談スレに移動しました、この質問はスルーしてね
コテハンは糞なのが実証されたなw
364 :
315 :2006/06/29(木) 12:06:15
>>319 おお、こんなのあったのか。
ありがとう。助かった
365 :
名無しさん@そうだ選挙にいこう :2006/06/29(木) 14:16:03
質問です。 0.8787 と言う数字の最後の数字(7) を切り捨てするにはどうしたらいいですか?
>>365 ROUNDDOWN(0.87871,3)
367 :
365 :2006/06/29(木) 15:14:22
すいません、質問が悪かったですね。 セル内の計算式が例えば A1*A2 となっている場合、そこの数字が 0.8787 と表示されている場合です。 数字の最後の数字(7) を切り捨てするにはどうしたらいいですか? ややこしくてすいません。
訊く前に100億秒考えるんだ
>>365 こんなのもある(負数の処理が違う)
=INT(−0.8787*1000)/1000=−0.879
=TRUNC(−0.8787,3)=−0.878
370 :
343 :2006/06/29(木) 15:24:12
366で答えが出てるのに応用力0な365 =ROUNDDOWN(A1*B1,3)
371 :
367 :2006/06/29(木) 15:33:09
>>367 次からはテンプレ読んでから質問しろ
質問内容を詳しくかけ
>>367 >数字の最後の数字(7)
>を切り捨てするにはどうしたらいいですか?
ん?最後の数字なのか?
小数点以下3個以上は切り捨てならいいけど・・・
最後の数字だとまたかわってくる
プッ
エクセルもろくに使えないバカな社員を 切り捨てするにはどうしたらいいですか?
鏡を使うと良いです
>>373 =ROUNDDOWN((A1*A2),(LEN(A1)-3))
プップップッ
>>375 そいつのExcelテンプレートファイルを
A B C D E F ...
1 しね アホ? クビ? かえる?やめて はいきえた〜
2 やめて しね アホ? クビ? かえる?ダウトッ!!
3 アホ? クビ? かえる?やめて しね 冗談きついなキミ
4 かえる?やめて しね アホ? クビ? 部長がよんでるぞ!
...
にする。
ツール→オプション→全般→標準フォントをメイリオに指定。 なのに、新しいファイル作ると、 標準フォントにMSPゴシックが表示されるんですが…。 あと、Windowsの画面のプロパティ→デザイン→詳細設定→ 指定する部分「ヒント」→メイリオを指定しても、 Excel 中のコメントのフォントがMSPゴシックのまま…。 Excel2003 ですが、これはなぜですか?
マルチ
383 :
名無しさん@そうだ選挙にいこう :2006/06/29(木) 22:01:49
メイリオは新開発された日本語のClearTypeフォント だけど、 もう出回ってるの? 違うやつがコピペしたの? 真正マルチ? ・・・・・・・・・・ ワカンネ〜
質問文が長いし無意味な改行もあるし 真正マルチのほうじゃね? 本人が出てくるまでは答えるのをやめとこ
>>385 Vistaのベータか、肝心なトコ忘れてたよ
387 :
名無しさん@そうだ選挙にいこう :2006/06/29(木) 22:58:26
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 VBA Binary 文字列 ユーザ定義型 構造体 Open バイナリで開くと16進で「0102030405060708090A」と書かれているテキストファイルがあります。 そいつを 010203/0405/060708/090A という風にそれぞれ分けて変数に入れてやりたい。 ただ、量が多いのでOpenして構造体にGetで一括でいれてみたんですが、 (構造体の中身に●● As String * 5 とかでやっても変な文字が入っちゃうし、 ●● As Integer とか●● As Long とかでやると、030201とか逆にはいってしまいます。 ABC(3) as Byte とかでやると入ってはくれるんですが、 それを文字列に変換できません。 16進バイナリ→String に変換するスマートは方法はありませんか?
テキストファイルなのかバイナリファイルなのかどっちだよ
389 :
名無しさん@そうだ選挙にいこう :2006/06/29(木) 23:08:26
おっと失礼。 バイナリファイルだよ
>>387 >030201とか逆にはいってしまいます。
を逆にする
>ABC(3) as Byte とかでやると入ってはくれるん
をHEXなどで変換
他のフォントではどうなのよ
>マルチっぽくて >マルチっぽくて >マルチっぽくて 反省の色なし
>393 誘導されたのとマルチは全然違うと思うが
395 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 09:20:12
質問オネガイシマス。 セルの表示形式で 「○○円△△銭」と言う感じにしたいのですが 「##"円".##"銭"」にすると「○○円.△△銭」と小数点が入ってしまい邪魔です。 小数点が入らないような表示にしたいのですが、良い方法はありますか?
>>394 一言向こうで質問の取り消しを言わないと普通はマルチ扱いかな
そもそも質問スレじゃないってテンプレにあるスレで質問するような人なんだけどね・・・
>>395 12円34銭の場合、12.34(円)と入力するのではなく
1234(銭)と入力して、「##"円"##"銭"」
表示形式では小数値の小数点を表示しないようには出来ないので
ならば小数値を使わなければいいだけの話。
どうしても小数値が使いたいなら、.の表示を諦めるかVBAで。
雑談は雑談スレに
399 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 10:15:04
>>397 目からウロコ・・
ありがとうございました
400 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 10:37:41
5*5項目の3Dグラフを作成したのですが、このいくつも立つ柱の分布状況を 反映して1本の柱にまとめたいと思います。(3Dグラフの重心というのかな?) どのようにすればよいのでしょうか?
401 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 11:02:23
402 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 11:35:29
403 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 12:12:24
【1 OSの種類 .】 xp 【2 Excelのバージョン 】 Excel 2003 11.5612.5606 うまく伝わるかどうか。 エクセルの中側の窓(.xlsに自分が付けた名前)のサイズを外側の窓(Microsoft Excel) のサイズと連動させるにはどこでどう設定すればいいのでしょうか? Microsoft Excelの窓全体の大きさをマウスで大きくしたり小さくしたり しても、中にある.xlsに自分が付けた名前の窓の大きさはそのまま です。これをMicrosoft Excelの窓の大きさの拡大縮小の動きに連動 させたいのです。 昔使ってたものは連動してたような気がするので。よろしくおねがいします!
404 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 12:35:13
1 OS Windows XP 2 Excelのバージョン Excel 2003 すいません! ワークシートメニューバーが急に表示されなくなりました。 他のツールバーは表示されています。 メニューバーの復活方法はどうするんでしょうか? どなかたご教示下さいませ。
>>404 ツールボタンあたりのエリアで右クリック、
ユーザー設定→ツールバータブ、
ワークシートメニューバーにチェックを入れてもだめ?
「A」というエクセルデータのセル "A1"に 「B」というエクセルデータのセル "A1"を表示したいです。 「A」というエクセルデータのセル "A1"に "="を入れて 「B」というエクセルデータのセル "A1"をクリックすると表示されるのですが "A1"セルを引き伸ばすだけではコピーになって"A2" "A3" にも 「A」というエクセルデータのセル "A1"の値が入力されます。 どうにかなります? ってか質問の意味解ります?
>>407 解かりません
次から日本語に関する質問はそれ用の板にお願いします
""""""""""""""""""= 。。??ーーーーーー「「「「「」」」」」1111 1123AAAAAAAAAAABBいいいいいいううううううかかががきけ ささしすすすすすすすただっってててでででととととととどななにににににの のののののののはばまままもりりるるれれれををををエエエエエクククククク クコセセセセセセセセセセセタタタタタッデデデデデピリルルルルルルルルル ルル意引解示示質伸値入入表表味問力 デフラグガカンリョウシマシタ
既存の請求書等をスキャナーで読込み、そこにデータを打ち 込めるようにしたいんですけど無理?
>>410 可能だけどExcelでやることじゃないな
どうしてもならVBA使え
>>410 不可能ではないがExcelで書き直したほうが良い
414 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 15:53:17
質問:エクセルで点1つが表示されない エクセルでセルを「文字列」にします。「'em」と入力します。なぜか「em」と表示されます。 「'」を表示させる方法を教えてください。
416 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 16:07:06
'はエクセルでは表示できないので2個記入
時間を120分といったように 分単位で表示させたいです 分の部分を自動でだせるようにできないでしょうか
418 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 16:18:09
うちの会社がエクセルオンリーなんです 無理ですか?
420 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 16:23:28
ありがとうございます。
421 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 16:24:39
>時間を120分といったように 分単位で表示させたいです 分の部分を自動でだせるようにできないでしょうか できる。
422 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 16:35:03
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 かじりたて 【4 VBAでの回答の可否】 可 セルのA1、B1、C1に文字列があります。 D1にA1とB1とC1の文字列をつなげたものを表示したいのですが、 上手いこといきません。 A1、B1、C1それぞれの文字数は結構多く、たぶんセル1つで300文字 程度あります。
423 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 16:51:27
>>422 原則として、エクセルは文字列操作用に作られていません。
エクセルは色々な文字列操作ができるように作られていますよ。 印刷時の文字列装飾はダメダメですが。 >422 先ずD1に =A1 & B1 & C1 と入れてあるかどうか、聞こうじゃないか。
425 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 17:47:16
>>417 セルの表示形式で [m]
>>422 =A1&B1&C1
セルの表示形式で「折り返して表示」にチェック
データポイントを平滑線でつないだ散布図で、 x, y, z 1,10,100 2,20,200 3, ,300 4,40,400 などとあると、データがないx=3のところで、yは線が切れてしまいます。 線でつなげるようにできる設定はないでしょうか。
427 :
403 :2006/06/30(金) 19:32:11
Bookという単語を忘れてました。念の為もう1度質問させてください。 Microsoft Excelの大枠の窓の大きさを調節しても、 中のBookの窓の大きさが変わらないので色々不便が生じます。 Microsoft Excel窓の大きさ調節と同時に中のBook窓の大きさも 合わせて変化するような設定にすることはできるのでしょうか? 前はそうなってたような記憶が・・・ 答えが出てないってことはやはりできないのかな?
>>427 中のウィンドウを最大化すればいいだけじゃね?
429 :
名無しさん@そうだ選挙にいこう :2006/06/30(金) 19:38:33
>>427 バカすぎて、みんな釣りだと思ってるのさ
がぁああぁぁぁぁあああああ
>>428 こんなバカに(TдT) アリガトウ。゜(゚´Д`゚)゜
2年ぶりくらいにこの問題が解決しました
その間、色っ々試したんだけど何故これに気づかなかったんだろうorz
>>427 そうです。バカです。認めます。もう何とでも呼んでください。
どうもスルーが冷たすぎると思ってた
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少し 【4 VBAでの回答の可否】 可 フォーム上でのタブオーダーのような感じで、シート上でエンターを押すたびに次の入力セルに 移動するような仕組みを作りたいと思い、Worksheet_selectionChange イベントを使ってやってみています。 具体的には入力セルの下のセルに移動したら次の入力セルをselect するという方法です。 ですがオプションの編集タブで入力後セル移動方向「下」となっているにも関わらず真下に移動しない場合があります。 直接入力セルをクリックしてから入力した場合は真下に行くのですが、 コードでselectされた状態から入力した場合は横にずれた位置に移動するようです。 入力セルに結合セルは使用しています。 なにか考えられる原因または別の方法などありましたらご教授いただきたいです。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 ExcelXP 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 あるファイルのシートに貼り付けてあるグラフを削除し、別のファイルのグラフを削除したグラフの位置に 貼り付けるマクロを作ろうとしています。 しかし、グラフを削除した段階でグラフの名前が変わってしまうので、マクロ化することができません。 このような場合はどうすればいいのでしょうか? 削除する前のグラフの名前を保持して新しいグラフの名前に入れ替える方法がありましたら教えてください。
433 :
422 :2006/06/30(金) 23:09:05
>>424 ,425
ありがとうございました!できました!
っていうか「=A1+B1+C1」でやってましたorz
貼り付けてから削除
>>431 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static strCellAdd As String
MsgBox strCellAdd, , "直前の選択セル"
strCellAdd = ActiveCell.Address(0, 0)
End Sub
こんな感じにすると、A1から右のB1に移動しようと、下のA2に移動しようと、A1から移動してきたことがわかる。
あとはこれを「Worksheet_selectionChange イベントを使ってやってみています。」に組み込めばいいだけ。
436 :
431 :2006/07/01(土) 15:47:20
直前のセル位置が分かる関数やシステム変数を探していた自分の頭の固さがよく分かりました。 自分で保持しておけばよかったのですね。 本当にありがとうございました。
437 :
名無しさん@そうだ選挙にいこう :2006/07/01(土) 23:16:46
エクセル2千使ってます。 DETADEFF関数が見付からないのですが、皆も一緒ですか? 手打でしてますけど。
439 :
名無しさん@そうだ選挙にいこう :2006/07/01(土) 23:27:46
一つのブックの中にシートを複数作って、 他のシートの中のセルを参照する関数ありませんか?
>>439 関数でやるならINDIRECTか?
通常はそのまま書けば参照できるけど
441 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 00:37:55
>>437 ロータスかなんかの互換性のために入ってるだけ
純粋MS-Excelオリジナルじゃないので意地悪してるんだろうな
>>437 関数ウィザードやヘルプで見つからないって話だよね。
MSのサポートKBに解説がある。
443 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 02:49:35
サンキュウてすー サポート掲示板見てみます。 あと他の皆さんもありがとうございました
444 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 09:44:21
質問です。 excelで作った円グラフで、円の中に数字(各項目の数値) をいれることはできるんでしょうか?
446 :
444 :2006/07/02(日) 10:02:35
すいません、ドロップとはどうすればいいんでしょう?
448 :
444 :2006/07/02(日) 10:21:22
どこにドロップすればいいんでしょう?
ネタじゃないなら…。 数字を一回クリックする→■10■というように表示 その状態でもう一度数字をクリック →下記のような表示 ■■■ ■10■ ■■■ ■のどれかを左クリックしたまま、円の中に持ってゆく。 円の中でクリックしている指を離す。
451 :
444 :2006/07/02(日) 10:55:43
ネタではないです。 >数字を一回クリックする→■10■というように表示 というのがちょっとわかりませんが、 円の中でドラッグしても変化ありません。
あ、もしかしてそもそも数字が表示されてないということですか? それなら円グラフを右クリックして「データ系列の書式設定」「データラベル」タブの 「ラベルの内容」で「値」にチェックを入れる。
454 :
444 :2006/07/02(日) 11:46:08
>453 ありがとうございます。お察しのとおりで、 やってみたらできました! ありがとうございました。
455 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 11:53:17
質問です。 EXCELで作った表をjpg,gif,pngに保存する方法はありますか?
456 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 11:56:42
↑、失礼しました。 表ではなく、グラフです。
みんな親切だね
460 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 18:44:48
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 【5 検索キーワード 】excel 回転 他所で質問しても答えが返ってこなかったのでここで質問します。 B1,B2,B3,…と縦に続いている様な値を、B1,C1,D1,…の様に 横に続くように移動したいのですが、どうすれば可能でしょうか? どうかよろしくお願いします。
「行 列 入れ替え」で再検索すべし
再検索しなくても向こうで回答付いてるしw
463 :
461 :2006/07/02(日) 22:02:06
むこうなんて知らないモン・゚・(ノД`)・゚・
>>460 検索してるキーワードにワロタw
普通にコピペじゃなくてコピーした後、「形式を選択して貼り付け」
を行ってみな
そうすりゃオプション項目の中でどれを選択すべきかわかる
465 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 22:33:28
すいません、すごく初心者なのですが エクセルのファイルの2個目を開くと同じとこに出て ウィンドウの切り替えとかで切り替えなくちゃならないのですが 2個目開いた時に新しくエクセルのファイルを開くようにするにはどうしたらいいんでしょうか
466 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 23:41:30
ファイル→新規
467 :
名無しさん@そうだ選挙にいこう :2006/07/02(日) 23:44:55
>>466 それしか方法ないんですか・・・
ファイルを直接クリックして別ファイルで開けないもんですかね?
468 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 00:07:46
意味がよく分からん 別ファイルで開くって何?
469 :
460 :2006/07/03(月) 00:08:45
470 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 00:15:59
>>468 1個目のファイルを開いた状態で、2つ目を開くと
1個目の奴と同じところに出てしまうのです。
たぶんお前さんの希望はメニューバーの ウィンドウ(W)ってところをクリックすれば叶えられるかと
472 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 00:47:55
>>471 それが面倒なので、最初から別ファイルで開くとかできないんでしょうか・・・
別ファイルっていうか別ウィンドウだな。 エクセルのウィンドウの中で子ウィンドウが開くんじゃなくて、それぞれ独立したウィンドウで開きたいと。
474 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 09:10:32
すいません。解決しなかったので再度質問。 1 OS Windows XP 2 Excelのバージョン Excel 2003 ワークシートメニューバーが表示されなくなりました。 他のツールバーは表示されています。 メニューバーの復活方法はどうするんでしょうか? ユーザー設定でワークシートメニューバーにチェックは入ってますが、 それでも表示されません。 要再インスコ??
475 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 09:16:55
477 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 09:47:19
> 465 :名無しさん@そうだ選挙にいこう :2006/07/02(日) 22:33:28 > すいません、すごく初心者なのですが > エクセルのファイルの2個目を開くと同じとこに出て > ウィンドウの切り替えとかで切り替えなくちゃならないのですが > > 2個目開いた時に新しくエクセルのファイルを開くようにするにはどうしたらいいんでしょうか あなたの質問の仕方は、多く間違っています。 まず、無駄な改行は やめてください。見づらく迷惑です。 「同じとこ」などの抽象的な表現が多く、説明が理解できません。 ウィンドウズやPCの最低限の基礎知識を調べてから質問することはマナーです。初心者だからという甘えは許されません。 あなたの わかりにくい説明を翻訳すると、こういうことに なります。 ―――――――――――――――――――― ウィンドウズは、多くのタスクを管理している。これは横長のタスク バーに表示されている。 たとえば、MSIEはウィンドウを開いている最中にCtrl+n を押すと、新しいタスクで新しいウィンドウを開く。 この2つのMSIEを切り替えたい場合、タスク バーのタスクをクリックすれば簡単に切り替わる。 しかし、エクセルで新しいファイルを開いても、新しいタスクにならず、同一タスク上で2つのファイルが開かれる。 これを切り替えるためには、メニュー コマンドのウィンドウで別のファイル名を指定するしかない。 面倒なので、別のタスクで表示したい。 ――――――――――――――――――――
優しいな 俺はスルーしてた
馬鹿は自分の分かってることは相手も分かってると思って話するからな。 そのうえ意味の無い長文。うざいだけ。
480 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 09:58:30
はじめまして。 早速質問させていただきたいのですが、例えば、IF関数とCOUNTIF関数 を使って、=IF(I1="金",COUNTIF(A4:A20,1),G8)のような数式を作った時で、 I1が"金"でなかった場合、”何もせず、セルの現在の値をそのまま表示 する”ようにするにはどうしたら良いのでしょうか? 私はその方法が分からないので、苦し紛れに、その数式のあるセル番地 (ここではG8)をそのまま指定しているので、当然ながら循環参照になって しまいます。 何とか解決したいので、どうか宜しくお願いいたします。 【1 OSの種類 .】 WindowsXP Pro 【2 Excelのバージョン 】 Excel2003 Professional Edition 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可
G8に数式いれてるんじゃないの?
482 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 10:10:42
「セルの現在の値」を得るための数式を入れればいいんだよ。 もしそれが直接入力されてるなら、セルを一つじゃ無理ということ。 2セル使う必要がある。
>>481 そうです。
セル番地G8自体に、「=IF(I1="金",COUNTIF(A4:A20,1),G8)」の数式を
入れています。
なので、循環参照になってしまいまして。
これを、「I1が"金"でなかった場合、”何もせず、セルの現在の値をそ
のまま表示する」ようにしたいのですが、なかなか方法が分からず・・・。
>>483 G8の値をH8に移してそっちを参照する。
>>483 セルの値って数式になるんじゃないの?ってことかと
数式をそのまま表示は無理だな
487 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 12:41:02
>>477 言いたいことはそのとうりです。分かりにくくてすいません。
480の質問が理解できない
=IF(I1="金",COUNTIF(A4:A20,1),"=IF(I1=""金"",COUNTIF(A4:A20,1),G8)") 数式を表示するにはこうすれば良いが、これを入力した時点で 表示される数式とは違ってきてしまう。う〜ん悩ましい。
VBA使えば出来るけど 数式を別のセルにやったほうが簡単
>480 "金" だけ =COUNTIF(A4:A20,1) に置き換えたいなら編集>置換を使うのはどうだろう?
492 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 18:46:23
式を表示したい意味がわからん
皆さん、どうも有り難う御座います。 ちょっと席を外しておりましてレスが出来ませんでした。 申し訳御座いません。<m(__)m> かなり説明が足りない部分が御座いましたので補足させて頂き ます。 どういう用件で「=IF(I1="金",COUNTIF(A4:A20,1),G8)」を使ってい るかといいますと、同一シート内の別表(以下A表)に、8種類ある 商品の売り上げ個数を月曜日〜日曜日分カウントする表が御座 いまして、その表で入力した結果を集計して表示する表(以下B表) の各セル全てにこの数式を埋め込み表示させています。(※引数やセル番地は各々違う) そして、月〜日という文字を入力する部分(以下C)を作り、その部 分を見てB表の曜日ごとの場所に集計結果を表示させるようにして おります。つまり、Cで入力する曜日によってB表に結果表示させる 場所を自動的に変更させるようにしているため、Cで入力した曜日以 外の曜日はA表の入力数値を読み取らないで、何もせずに今表示 している数値のままにしておきたい、ということです。 分かりづらいかもしれませんが、どうか宜しくお願いします。 また少し席を外します。申し訳御座いません。
494 :
480 :2006/07/03(月) 19:37:03
つまり、G8のセルに、「=IF(I1="金",COUNTIF(A4:A20,1),G8)」 を埋め込んでいる為に循環参照になってしまうわけです。 なので、出来ればこの数式の最後の「,G8」の部分を、何とか 「現在の数値(数式の方ではなく)をそのまま表示するだけ」 というような関数か何かに出来ないものかと思いまして・・・。 ちなみに、「現在の数値」とは、この数式によるA表の集計結果 (単純な3とか6とかの数値)の事です。分かり辛くてすみません。
全体も長いが、一文一文が長すぎる。 「その表で入力」とか「その部分を見て」とか微妙な表現もなんとかしなきゃね。 サンプルファイルUPするか、せめてフキダシ解説付きのスクリーンショットくらい欲しいね。
496 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 20:12:32
>>494 読む気にならんから良くわかんないけど
G8じゃなくてA表の集計結果のセルにすればいいじゃん
>「現在の数値」とは、この数式によるA表の集計結果 ~~~~~~~~~~~ G8の代わりにその数式を入れれば?
>>480 同一セルに数式と現在の数値は混在できないのは分かってる?
G8の現在の数値(数式の方ではなく)が入ってるんだよね?
その上でG8に数式を書いて数式の結果か現在の数値を表示したいってことか?
わかりやすく何をしたいかまとめるか
サンプルファイルをアップしてくれ
499 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 20:49:18
自己解決しました
500 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 20:53:59
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 セルに何か入力したときマクロを発動させるって可能ですか? セルとテキストボックスをリンクさせてテキストボックスでマクロ発動させてるんですが もっと簡単にやりたいんで
>>493 シートAのG8に「=IF・・・」と略さずにすべて書け
それと「それ」とか代名詞が指してるものも。
おまえは本人だから分かってるだろうがさ・・・
曖昧で不透明な説明は余計混乱するだけ
503 :
教えて :2006/07/03(月) 21:49:20
txtファイルを読み込んで、それを同一名のxlsで保存するマクロ。 無理?
504 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 21:52:29
>>503 テキストファイルを開いて上書き保存させればいいのでは?
505 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 22:16:59
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 保護 シートの保護はできる事が分かっているのですが セルの保護というのはできるのでしょうか? できるのでしたら、やり方を教えてください。 よろしくお願いします。
506 :
505 :2006/07/03(月) 22:20:13
セルを検索ワードに追加したら分かりました。 すみませんでした。
507 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 22:24:30
( ´∀`)σ)´Д`)
508 :
教えて :2006/07/03(月) 22:25:48
503は無理そうだから、シート名をファイル名にして保存するマクロは? 無理?
510 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 22:31:19
>>477 ちなみに、わたしはウィンドウズMEを使っていたとき、エクセルはタスク1つにまとめられてしまっていました。
でも、今はXPを使っていて、ファイルは すべて別のタスクで開かれます。
なので、OS依存の可能性が高いと思います。
あなたのOS、ほか詳細を書いてみてください。
511 :
教えて :2006/07/03(月) 22:38:59
できました。 ありがとう>509
>>465 Excel2003の場合は
ツール→オプション→表示→「ウィンドウをタスクバーに表示」にチェックを入れる。
SDIが採用されたのはOffice2000からなので、Office97以前のバージョンだと出来ません。
皆さんどうも色々とアドバイス有り難う御座います。
それと、当方の要望が分かり辛くて大変申し訳御座いません。
皆さんの仰るとおり、サンプルファイルをUPした方が早いと思い、
↓にUPしました。
ttp://w-ch.cool.ne.jp/up/src/wchup0052.rar サンプル表を簡単に説明しますと、右上の「深夜」とか「昼」とか書
いてある表に、売り上げのあった商品(@〜G)ごとに部屋番号
(1〜21)を入力すると、同一シートの別表にて部屋番号の数をカウ
ントして料金計算できるようにしてあります。
514 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 23:51:14
Win2000 SP4、Excel2000です。 C D E F 3 9:00 | =IF(C3="","",SUM(C3,E3,"1:00")) | 8:00 | =IF(E3="","",D3-MAX(C3,"18:00")) C=出社時刻 D=退社時刻(出勤時間+勤務時間+休憩1時間) E=勤務時間 F=残業時間(定時が18時) という出勤簿を作りました。 定時に帰るとF列が「#####」になってしまいます。。 残業なしで"0:00"と表示させたいのですが、どのようにすればよいのでしょうか。 どなたかご教示ください。
515 :
名無しさん@そうだ選挙にいこう :2006/07/03(月) 23:51:32
超、超初心者です。 図形描画で、円形描いたんですけど、それを半円になるように、 画像ソフトによくあるみたいな消しゴムツールとかで消したりできますか?
>>515 □(線なし)を使って半分隠す。で、ラインを引く
517 :
名無しさん@そうだ選挙にいこう :2006/07/04(火) 00:06:36
>>516 すいません、ラインを引く、という意味が・・・
最初に表示されているラインのことですか?
描画した上からでもまた引けるものなのでしょうか?
>>517 重ねられますよ。線が無い四角だと円の弦の部分がなくなるから。
>>513 お前誰だ? もしかして、480か?
だとしたら、もう
>>482 >>484 >>490 >>496 >>497 で、答えは出てるだろう。
人に理解してもらうことを考えるだけでなく、人の言うことを理解する事を考えろ。
>「現在の数値」とは、この数式によるA表の集計結果(単純な3とか6とかの数値)の事です。
これを式で表現して、G8の部分に入れる。みんなが言ってるのはそれだ。
ちなみに、私は得体の知れないファイルをダウンロードしたくない
>>519 分かりました。早速やってみます。
回答して下さって本当にどうも有り難う御座いました。
>>514 とりあえず、手っ取り早いのは
ツール>オプション>計算方法>1904年から計算する にチェック
>>520 名前に番号を入れてくれ
お前だけのスレじゃない
523 :
名無しさん@そうだ選挙にいこう :2006/07/04(火) 09:59:26
【1 OSの種類 .】 MacOS9 【2 Excelのバージョン 】 Excel2001forMac 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 セル内改行 検索と置換 エクセルに問題集のデータを入力することになりまして、 一つのセルに改行入りの文章を沢山入れます。 いちいちセル内改行(Alt+Enter)で一行ごとのデータをコピペするのは 面倒なので、改行を全て●などに置き換えて、最後にCtrl+Jで 改行に置換するという方法があることは調べて分かりました。 で、Windowsでは問題なくできるのですが、 MacintoshではCtrl+Jでセル内改行に置換できません。 Mac版にはこの機能入ってなさそうでムリなのかもしれませんが、 もしやり方ご存知の方いらっしゃったら、教えてください。
524 :
514 :2006/07/04(火) 10:12:00
>>521 レス有難うございます。
そのやり方ですと「-0:00」表示になってしまいます。。
手っ取り早くなくてもいいので他にやり方があれば教えてください。
「Excel "0:00" 表示 エラー」などでぐぐってみたのですが、
見つかりません。「#」は入れても検索に反映されないしで。。
検索ワードのヒントでもけっこうです。お願いします。
>>524 シリアル値での演算誤差が見えている状態なので計算各所で丸め処理をする等を行うと良いです
一旦TEXT関数を通すとかFLOOR関数で秒単位にするとかいろいろありますので好みの処理を選んでください
527 :
名無しさん@そうだ選挙にいこう :2006/07/04(火) 11:17:15
>>526 それでヒットしたらわざわざココで聞かんわw
作業はWinでやるんで、参考までにMacでも
もしかしたらできるのか知りたいだけっす
>525さんが先に書いてしまったけど、シリアル値では 9:00 + 8:00 + 1:00 - 18:00 = 0.375 + 0.333333333333333 + 0.0416666666666667 - 0.75 = 0.7499999999999997 - 0.75 = -0.0000000000000003 という事で、マイナスの時刻は ########### 表示になります。 丸めるのも手ですが、If で判断して 強引に "0:00" を書き込む手もあります。
530 :
514 :2006/07/04(火) 14:10:54
質問させてください 5月 A 979 B 767 C 567 D 544 E 234 のデータと6月のデータ 6月 A 767 D 656 E 555 B 344 C 223 があった場合、同じ項目の並びで(ABCDEの順)で、6月以降のデータをソートする方法はないでしょうか。
531です。追記です。 ABCDEは、日本語表記です。
何いってるか不明 日本語表記って何だ? 5月、6月は別シートなのか? とりあえずテンプレ読んで質問の仕方を学んでから来い
>>531 オプション>ユーザー設定リスト、でABCDEをリストに設定してから
データ>並べ替え>オプション>並べ替え順序の指定>ABCDE、で並べ替え
531です。 534さん、ありがとうございました! うまくできました。
ABC…はユーザー設定リストに登録しなければ 順番がバラバラなのだろうか??
539 :
名無しさん@そうだ選挙にいこう :2006/07/04(火) 17:01:11
【1 OSの種類 】 Windows XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否 】 否 【5 検索キーワード 】 EXCELで作った表を図でWordに貼り付けたのですが、 フォントの色が赤から黒に変わってしまいます。 ビットマップで貼り付けると色は変わらないのですが、 表が汚くなるので図で貼り付けたいのですが、 色を変わらなくする方法はないでしょうか。
540 :
名無しさん@そうだ選挙にいこう :2006/07/04(火) 17:25:32
時間
>>539 形式を選択して貼付けでメタデータやらビットマップでやってみ?
…で微妙にスレ違いだからWordスレ行きな
グラフについて質問です。お願いします。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 縦棒積み上げ方のグラフを作成し、下から順番に項目を並べ替えたのですが、 上司が凡例は逆にしろと指示しました。 つまり、縦棒下から、項目1、項目2、項目3…と積み上がっているのはそのままに、 右横に置いた凡例は上から項目1、項目2、項目3…になるようにしたいのです。 お願いいたします。
>>543 それっぽく見えるだけなら、
値が0のダミーデータ系列を元の系列の数だけ作り積み上げる
ダミーでないデータ系列の凡例をクリア
グラフの色、ラベルなどを調整
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 数値が入力されたシートで、以下のように一部文字列が入力されています。 (実際は勿論半角です) 1 2 × 1 × 3 × 2 3 このシートで、4列目のセルにヨコ一列の合計を入力したいのです。 つまりは、 1 2 × 3 1 × 3 4 × 2 3 5 という形にしたいのです。 SUM関数を使えば簡単なのは勿論分かっているのですが、VBAでこれを組む必要がありまして・・・ ×部分を飛ばして、合計を入力するような文を書けばいいと思うのですが、試してみてもうまく行きません。 すみませんが、よろしくお願いします。
>>545 WorksheetFunction.Sum(Range("a1:c1")) は禁止?
547 :
545 :2006/07/04(火) 23:32:30
>546 即レスありがとうございます。 その方法も考えたのですが、Rangeにセル番地を入力するため二行目以降の処理が出来なくて・・・ (行数が増減してもそのまま使用できるようにしたいので、コピペはできないです) できればDo〜Loop等を使って二行目以降も処理したいのです。 VBAは使えると書いてしまいましたが、実は初心者でまだ理解が浅いです。 すみませんが、もう少しお願いします・・・
548 :
343 :2006/07/04(火) 23:32:44
cells(i,4)=val(cells(i,1))+val(cells(i,2))+val(cells(i,3))でループ w
550 :
545 :2006/07/04(火) 23:52:40
>548 valなんて初めて知りました・・・ 思うようにいきました。ありがとうございました!
551 :
名無しさん@そうだ選挙にいこう :2006/07/04(火) 23:55:27
ド初心者レベルの質問なんですが教えてください セルに数式を入れても計算されず、数式自体が表示されるようになってしまったのですが 計算されるように直すにはどこをさわったらいいんでしょうか?
553 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 00:14:51
>>552 すいません
大切なことを書き忘れてました
症状は全体にではなくセルひとつのみにでてるのですが
>>552 を試してみましたが直りませんでした
>>553 書式設定が文字列になってるなら、標準にして数式バーのfxをおして
その横のチェックマーク(レ)あたりをいじったら直るかも
555 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 01:03:04
556 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 13:47:49
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 少々 【4 VBAでの回答の可否】 可 【5 検索キーワード 】グラフ 指数 100 平成6年から平成15年までの売上高の表があります。 (表1) 平成6年度 5,100百万円 平成7年度 4,822百万円 (略) 平成13年度 4,899百万円 平成14年度 5,010百万円 平成15年度 4,903百万円 これを平成6年度の売上を100としたときに 各年度の売上の指数がどのようになるかを グラフで表示する方法を教えてください。
557 :
556 :2006/07/05(水) 13:48:33
>>556 を解決するために
(表1)から、平成6年度の売上高を100としたときの
(表2)
平成6年度 100.0
平成7年度 94.5
(略)
平成13年度 96.1
平成14年度 98.2
平成15年度 96.1
を作ってから、グラフを作れば解決はすると思います。
しかし、平成16年度のデータがまとまって
平成7年度の売上を100としたときのものを
作り直したり、営業利益でグラフを作ったりと
こういったグラフ作成を何度もする必要があるため
エクセルのグラフ作成の機能だけで実現できればと思っています。
よろしくお願いします。
B列を年度、C列を売上高として、D列に次の式。 A列は基準年度に○を入れる、というのは? =IF(A2="○",100,C2*100/LOOKUP("○",A$2:A$20,C$2:C$20))
559 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 15:58:08
2006/02/18, , 日本経済新聞 朝刊, 13ページ, 有, 1501文字, スコア:70 この一覧をエクセルのセルごとに分けたいんですけど、どうすればできますか? 2006/02/18, | 日本経済新聞 朝刊, | 13ページ, | 1501文字, | スコア:70 この様にしたいです。
>>559 どういう基準で分けるのか良く解からんがそのくらいなら手作業で入力
561 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 16:11:06
【1 OSの種類 】 Windows XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか 】 いいえ 【4 VBAでの回答の可否 】 否 ご教授お願いします。 空白セル+空白セル=空白セルにしたい。 3枚のシートを跨いでの足し算で「シート3のA列」に 計算式「シート1のA列」+「シート2のA列」を入力しています。 シート1に「0」もしくは空白、シート2に「1」が入力されている場合シート3には「1」が返されます。 同様に「0」と「0」の場合も「0」で良いのですが、空白と空白の時に「0」では無く空白を返したいのです。 何卒よろしくお願いいたします。
562 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 16:12:21
>>560 いや、資料が2500ほどあるんですよ。
そこで、区分けした方が処理しやすいもんで、
コンマごとにセルで区切ることとかできませんかね?
>>561 ISNUMBERで調べてIFを使い数字のときのみ計算実行にする
>>562 テキストファイルに変換してそのテキストファイルをEXCELで開く
564 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 16:22:19
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 端数処理 集計表を作っていまして質問です。 集計をいつもΣでしているのですが、 @0.25×7.337 =1.83425 表示 1.8 A0.60×12.663 =7.5978 表示 7.5 B0.25×20.000 =5.0 表示 5.0 計 14.3 という風にしたいのですが どうしても 計 14.4 となってしまいます。 指定する小数点以下の数字の切捨ての仕方を教えてください。
565 :
561 :2006/07/05(水) 18:11:24
>>563 有り難うございます。
間違ってるのか「0」もしくはエラーが出てしまいます・・・
566 :
559 :2006/07/05(水) 18:32:36
>>563 テキストファイル開いたらなんとできました。
ありがとうございます。
まじ感謝します。ありがとう。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 セルに番地を文字列として直接入力し、 その入力した番地のセルを参照する式を教えて下さい。 例:A1に表示させたい参照先のセル番地をB1に入力する。 B1に"C3"と入力→A1にはC3の内容が表示 B1に"D4"と入力→A1にはD4の内容が表示 宜しくお願い致します。
568 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 19:34:31
>>564 普通は「エクセル 切捨て」で検索すると思う
569 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 19:44:15
ネットで親切に してもらったら、3倍返しが基本です。 皆さん、忘れないように しましょう。
>>564 >365
検索してから質問しろよ・・・
グーグルでもこのスレでも出てくるんだしさ・・・
>567 あまりにも direct な indirect の質問で、戸惑います。
>>571 ありがとうございます!!
セルの番地だけでなく、シート名やファイル名でも使えることが分かりました。
これぞ私が求めていたものです!!!
>>572 自己解決したとだけ書いてどう解決したか書かない奴って何なの?
>>574 ん? 572は事故怪傑じゃないでしょ。
571にアドバイスにしたがって、解決したわけで。。。
indirectね。
INDIRECTって確かテンプレFAQに載ってたよね?
前スレからおかしくなってしまって無くなったかもね どこかにまとめサイトとかないかな
>561 =IF(AND(A1="",A2=""),"",0)
579 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 23:11:27
列に記入されたデータが多いページがあった場合、 そのページの下の方と上の方を2画面分割して同時に見たい(比較したい) のですが、そのような事はできませんか?あるいは代替え手段で良い方法 があったら教えて下さい。
580 :
名無しさん@そうだ選挙にいこう :2006/07/05(水) 23:29:57
>>580 画面分割できたんですね…orz
クビ釣って来ます
582 :
564 :2006/07/06(木) 10:09:19
>>574 タソ。誘導ありがとうございました。
無事解決しました。涙が出る思いです。
583 :
サザエ :2006/07/06(木) 11:15:41
XP Home、エクセル2000です。 突然シートを印刷もしくはプレビューできなくなりました。 300KBもないファイルなんですが。。。 なぜなんでしょう。。。
>>583 釣りか?
他のファイル、他のソフトでは印刷できるかどうややれ
嫌ならドライバを入れ直せ
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 2.0×4.0 8.0u という風に計算式を入れて、会計処理で小数点以下の設定をしてその後ろに 単位・記号を自動入力する方法はありますか? 教えてください
>>585 内容が会計処理とは違うようだし、自動表示はできるかもしれないがVBAなしで自動入力は無理
1 OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【質問】テキストでもらったデータのコード列にエラーが無いか調べるマクロです。 コードは文字列8桁で入力されています。エラーとして扱いたいのは 1.数字以外の文字が混入している時(例 a000000) 2.コードが8桁以上か空白である時(例 153545454) 8桁以上のデータと空白はエラーとして表示できたのですが、文字数以外のデータがある場合は マクロが止まる事でしか現在判断できません。 マクロが止まらず MsgBox ("数字以外のコードがありました。" & ecnt & "行目です") みたいに表示して最後までマクロが実行できるようにしたいのですが良い案が思い付きませでした。 現在のマクロが大幅に変わっても構いませんので宜しくお願いします。
588 :
587 :2006/07/06(木) 14:20:16
続きます。 現在のエラー 「実行時エラー'13'型が一致しません。」 マクロは Dim ecnt As Long 'for〜next用変数 Dim eend As Long '最後の行数入れる変数 Dim eflag As Long '8桁以上か空白時のフラグ Dim edat As Variant '調べるデータを入れる変数 eflag = 0 '初期のフラグ0 eend = Range("a65536").End(xlUp).Row 'データが入力されてる最終行数をeendに入れて For ecnt = 2 To eend '2行目からeend行まで繰り返し edat = Cells(ecnt, 1).Value 'edatにデータを格納して edat = edat * 1 '文字データでも数値の文字だけだったらエラーにならない。が実行エラーで止まる MsgBox ("値" & edat & "です") '値確認表示用 後で消す If edat > 99999999 Then '9桁以上の判定 MsgBox ("8桁以上のコードありました。" & ecnt & "行目です") '8桁以上表示 eflag = 1 'エラーフラグを立てる End If Next ecnt If eflag = 0 Then MsgBox ("張付けたデータにエラーはありませんでした。データを取込みます。") '取込処理 Else MsgBox ("張付けたデータにエラーがありました。取込を中止します ") '8桁以上エラー処理 End If 宜しくお願いします。
589 :
587 :2006/07/06(木) 14:24:45
>8桁以上のデータと空白はエラーとして表示できたのですが、文字数以外のデータがある場合は >マクロが止まる事でしか現在判断できません。 推敲する前の張付けたorz 8桁以上のデータと空白はエラーとして表示できたのですが、「数字」以外のデータがある場合は マクロが止まる事でしか現在判断できません。
590 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 14:37:22
【1 OSの種類 .】 WindowsXP PRO SP1
【2 Excelのバージョン 】 Excel2000
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 読み取り専用
ネットワーク共有上のExcelファイルを開いたとき、読み取り専用になってしまいます。
ファイルの属性を見ると読み取り専用になっていません。
その共有フォルダ上のすべてのExcelとWordのファイルが読み取り専用になってしまいます。
他のPCから開いたときには読み取り専用になりません。
ウイルスセキュリティソフトはV3というのが入っていますが、ファイアーウォールとリアルタイム監視
をオフにしても状態は変りません。
サーバーとなっているPCはXPPRO(SP2)です。ウイルスセキュリティソフトは入っていません。
ネットワーク共有上のファイルを開いたとき、開くのに時間がかかる、読み取り専用で開く、あるいはエラー メッセージが表示される
http://support.microsoft.com/kb/814112/ja こちらは試してみました。
よろしくお願いします。
>>587 IsNumericで判定
メッセージが8桁以上になってるとか7桁以下の処理とかどうにかしてね
593 :
587 :2006/07/06(木) 15:27:15
>>592 IsNumericという関数の存在すらしらなかった。
返答ありがとうございました。
>>590 その共有フォルダが、「読み取り専用」になってないか?
XPの初期設定は、「読み取り専用」だったと思うが。
595 :
585 :2006/07/06(木) 15:57:20
>>586 そうですか・・・ありがとうございました。
596 :
590 :2006/07/06(木) 16:11:17
>>594 レスありがとうございます。
読み取り専用になっていません。
他のPCで同じユーザー名でアクセスすると読み取り専用には
なりません。
597 :
590 :2006/07/06(木) 16:15:25
>>594 Excelで開くと読み取り専用になっているのですが、
名前を付けて保存して、そのファイルを開くと
読み取り専用にはなりません。
>>597 当たり前だろ・・・
他のPCからは許可してる
599 :
590 :2006/07/06(木) 16:46:59
>>598 Excelで開くと読み取り専用になっているのですが、
名前を付けて保存で共有フォルダ上に別の名前で
保存して、Excelを終了後
別名で保存したファイルを開くと読み取り専用にはなりません。
共有フォルダへのアクセス権が読み取りだけになっていたら、
保存できないと思います。
>>599 >保存できないと思います。
何を勘違いしてるか分からんが可能だぞ
フォルダの設定とファイル毎の設定は別
特定のユーザには上書き保存できないように特定のファイルだけを設定しとけばいい
フォルダ設定は書き込み可能にしとけば新規作成、別名保存は出来る。
今回の件がそうなのかは不明
>>599 読み取り専用で開かれるのは
他のPCがファイルを開いてるか
アクセス権の設定の問題
602 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 18:58:23
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 すこし 【4 VBAでの回答の可否】 可 A列に日付が一日単位で並んでいて、B列にA列から変換した平成?年?月という年月が並んでいます。 そしてC列以降に色々なデータが並んでいます。C列、D列・・・のデータの各項目は全て別です。 A B C 平成18年1月1日 平成18年1月 10 平成18年1月2日 平成18年1月 23 ・・・ ・・ ・ 平成18年12月31日 平成18年12月 100 C列以降のデータから各月毎の平均を出したいのですが、いい方法が見つかりません。 尚、C列のデータには抜けがあったりし全部埋まってはいません。 ifとfor文で、平成18年1月ならC列の値を足していって、countAの数で割るという方法は思いついたのですが データの量がかなり多いので、出来ればもっと簡単にスマートな方法でやりたいです。 何かいい方法ありませんか?
【1 OSの種類 .】 XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 すこし 【4 VBAでの回答の可否】 可 セルをクリックしたら'○'が入るようにしたいです。 (クリックはシングルでもダブルでも可) フォームでなく、入力規制でなくどうにかならないでしょうか?
604 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 19:03:54
データ→データベース条件絞り込み。(三四郎) データ→ピボットテーブルした後に、平均だす。
605 :
590 :2006/07/06(木) 19:16:48
>>
そうですね。
共有フォルダのネットワークアクセス権の設定と
ファイルのNTFSアクセス権は違いますね。
>>601 他のPCはファイルを開いていません。
共有フォルダとNTFSのアクセス権は
everyoneフルコントロールになっています。
WindowsXPで、Excel2002です。 グラフでX軸の数値を変えるにはどうしたらよいのでしょうか?
607 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 19:21:19
軸の設定を変える
608 :
606 :2006/07/06(木) 19:24:09
>>607 どこから設定を変えるのでしょうか?
軸の書式設定にはそれらしきものがありません・・・
609 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 19:34:30
例えばA1に10って入力して、B1に○を入力すると C1にA1の数字(10)が入力されるのってどうやるか分かりますか? 分かりにくくてごめん
610 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 19:41:23
>>604 ありがとうございます。できました。
ただ、後出しで申し訳ないのですが、結果を別シートに出力しているのですが
教えてもらった方法だとなぜかコピペしても違う値が出てきてしまいます・・
>>609 =if(b1="○",a1,"")
>>609 何をやりたいのかさっぱり判らんけど
=IF(B1="○",A1,"")
612 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 19:45:19
>>609 C1に
=IF(AND(A1=10,B1="○"),A1,"")
613 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 19:49:29
614 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 20:35:48
まじありがとう
615 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 20:42:39
四捨五入と切り捨て・切り上げの違いってなんですか?
>>603 シングルクリックだと、範囲選択とかその他もろもろの動作と被るから
ダブルクリックにした方がいいよ。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Target.Value = "○"
End Sub
このままだとセルの編集状態に入ってしまうので、それが不都合ならCancel = Trueを入れればいい。
あとは、対象セルを限定したりとか必要なら、そのくらいは自分で書こうね。
ハードコピーを縦に並べただけのシートを作成し、 ハードコピーの間には1行空白行を入れてました。 これを印刷するときに、ハードコピー間にうまく改ページを入れることはできるでしょうか。
お願いします。 あるセルの値に対して、イラストを表示させることは可能でしょうか? 例えば、A1に1とあれば、C1あたりにお日様のイラストを 描くことなのですが・・
620 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 23:33:13
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(初心者) 【4 VBAでの回答の可否】 可 テキストボックスとコマンドボタンのあるフォームを使っています。 コマンドボタンを押すごとにセルA1→A2→B1→B2→…の内容を順番に テキストボックスに表示するにはどうすればいいのでしょうか? 簡単そうに思ったのに全くできません…。 どなたか教えて下さい(´・ω・)
621 :
名無しさん@そうだ選挙にいこう :2006/07/06(木) 23:40:13
皆さん、今晩は。 下記について教えて下さい。 【1 OSの種類 .】 Windows2000 SP4 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否 】 否 A列に郵便番号、B列に住所、C列に氏名が入っているXLSファイルがあります。 これを官製葉書や封筒に印刷するにはどのようにしたら良いでしょうか。 A列 B列 C列 123-4567・東京都東区西町1-2-3・東京太郎 234-5678・大阪府南区北町4-5-6・大阪花子 出来れば、縦書き印刷を希望しますが横書き印刷でも構いません。
623 :
619 :2006/07/06(木) 23:59:37
>>622 ・・・やはりそうですか(´Д`;)ヾ
避けて通れないですねぇ・・・
ありがとうございました。
>>621 何個ぐらいリストがあるか分からないけれど、Vlookupで一個づつなら可能
VBA使えば自動化できるが。WORDが有るなら差込印刷。
625 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 00:20:28
正の値で+符号をつけるにはどうしたらいいのでしょうか?
>>620 Sub CommandButton1_Click()
If a = 1 Then
a = a + 1
Else
a = 1
b = b + 1
End If
TextBox1.Value = Cells(b, a)
End Sub
>>618 改ページプレビューで改ページの青いラインを弄る。
629 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 00:53:13
>>625 セルの書式設定→表示形式→ユーザー定義
種類で【+#,##0;-#,##0】を選択
その後、自分で+を追加して【+#,##0;-#,##0】にする。
>>627 これだとマイナス100の場合
-+100になっちゃう
長文すみません。 【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ◎以下の10人の学生の成績判定を条件式で計算しなさい。 判定80以上:A、50以上:B、49以下:C、レポート未提出者(一つでも0点のある人):欠 という課題が出ました。 =IF(B52+C52+D52>=80,"A",IF(B52+C52+D52>=50,"B","C")) でA〜Cの判定は出ましたが、 「欠」の判定の条件式 =IF(OR(B52=0,C52=0,D52=0),"欠","") を加えて、 =IF(B52+C52+D52>=80,"A",IF(B52+C52+D52>=50,"B","C"),IF(OR(B52=0,C52=0,D52=0),"欠",""))) とすると、 「この関数に対して、多すぎる引数が入力されています。」 という表示が出ます。 どうしたら欠が表示されるようになるのでしょうか。 何かアドバイスお願いします。
>>630 一番外側のIFの引数が4個になってる
括弧の数がバランスしてない
632 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 01:03:55
633 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 01:22:44
>>630 =IF(OR(B52=0,C52=0,D52=0),"欠",IF(B52+C52+D52>=80,"A",IF(B52+C52+D52=50,"B","C")))
634 :
633 :2006/07/07(金) 01:24:02
>>630 =IF(OR(B52=0,C52=0,D52=0),"欠",IF(B52+C52+D52>=80,"A",IF(B52+C52+D52>=50,"B","C")))
でした。
>>628 【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2000
ありがとうございます。
選択した複数の行全てに改ページを挿入することはできないでしょうか。
10,20、30、40行目をCtl+クリックで選択し、改ページ挿入をしましたが、
最後に選択した行しか挿入できませんでした。
637 :
603 :2006/07/07(金) 11:48:11
>>617 ありがとうございました。
おっしゃるとおりの制御もしなくてはなりませんが
ちょっとがんばってみます。
OSの種類 .】 Windows98 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【質問】シート保護時の行挿入に関する質問です。 現在見出しやコンボボックスなどでセル(A1:H10)まで固定で使用してます。 (A11:H11)から下の行を入力・表示用としていて(A1:H10)は「書式設定」→ 「保護」→「ロック〆」それ以外のセルは「ロック」をはずした状態でシート に保護をかけています。 保護をかけた状態で11行目から下の行に挿入をしたいのですがVBAを使わず エクセルの基本機能ですることは可能でしょうか? また、現在 シート上のボタンクリック シートで入力された今回挿入したい行変数 アクティブな行又は指定行 シート保護解除 アクティブな行又は指定行に変数分の行挿入 シート保護 みたいなマクロを作成予定なのですが、これ意外に対処方法有りましたら よろしくお願いします。
639 :
621 :2006/07/07(金) 13:20:12
>>624 有り難う御座います。
1個ずつ印刷するような件数ではないので、wordの方で聞いてみます。
640 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 15:34:33
オプションの、設定の、やりかたが、わかりません
641 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 15:41:52
オプションや、保護が、選べれない。
【1 OSの種類 .】 Windows2000Purohessyonaru
【2 Excelのバージョン 】 Excel2000 9.0.3821 SR-1
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード 】意味が、わかりなせん
ぼくが、じぶんの、アカウントで、路銀をして、やろうとすると、
ttp://www.uploda.org/uporg438053.png ←になりますが、
Administratorとか、guestとか、他人で,路銀すると、ちゃんと、
オプションが、選ぶことが、できますが、ぼくのときだけ、できません。
どうしたら、直るでしょか?
>>641 何らかの 制限が かかっているので 管理者に 聞いて ください
韓国人っぽい感じ
646 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 18:17:57
641ですが、ぼくの、アカウントは、Administratorsなので、ぜんぶ、できます。 そして、管理者は、ぼくなので、制限は、なにも、していない。 しかし、できません、そして、Accessや、Wordでは、ちゃんと、オプションができますが、 エクセルだけが、できなくなって、ほんとうに、こまりました。そして、さっき、Officeの、 セットアップというのを、やって、いったん、エクセルを削除して、さいきどうして、 もういちど、インストールしましたが、やっぱり、おなじでした。
648 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 19:51:43
お前が管理者ならちゃんと管理城。 Purohessyonaru の he が何か匂う
お前ら優しいな
650 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 21:26:08
【1 OSの種類 .】 2000 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 昔、少し授業で触ったくらい 【4 VBAでの回答の可否】 YES 3つのセルに入っているRGBの数値を使って、セルに色をつけたいです。(全部同じ行) その処理を50行位繰り返し行いたいのです。VBAの書き方をご教授ください。
651 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 21:52:50
>>615 4で捨てて5から繰り上げる
因みに、チートイツって知ってる?
652 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 23:15:25
>>652 だから解決したのなら、どういう風に解決したかぐらい書いてよ、スレを消費したのなら。
>>653 うるせー。
教えてほしいなら教えてほしいってここで質問しろや。
655 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 23:44:21
/)_/) ( ・分かる人はできるだけ回答して下さいませ。 < ゚ _・゚> .。oO( ・回答がなくてもキレないで。急いでいても催促は3日以上開けて。 ノ) / | ( ・自己解決したらその解決手段を他の人の参考の為に書いてね。 \(_,,,_,,,)
656 :
名無しさん@そうだ選挙にいこう :2006/07/07(金) 23:47:24
馬鹿に対して馬鹿なレスをするーーーー
そんなレスに、ついついレスするーーーー
658 :
650 :2006/07/08(土) 00:01:18
>>652 これ、俺じゃないです。
まだ解決してないので誰か教えてください。
>>658 Private Sub Worksheet_Change(ByVal Target As Range)
For Each c In Worksheets("sheet1").Range("d:d")
R = c.Offset(, -3)
G = c.Offset(, -2)
B = c.Offset(, -1)
If R = "" Or G = "" Or B = "" Then
Exit For
Else
c.Font.Color = RGB(R, G, B)
End If
Next
End Sub
A列がR B列がG C列がB D列に適当な色を変えたい文字 1行目から数字が入っていないと何も起こらない。 背景色を変えるなら c.Interior.Color = RGB(R, G, B) 行数削減の為エラー処理はしてないのでABCの値は32767以下
【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 変更履歴 書き出し 変更履歴についてですが、共有設定せずに変更履歴を他のシートやファ イルなどに 書き出すことはできますか? 履歴をとっていることを悟られずに変更履歴を取りたいのですが。 (共有設定はあっても可ですがその際そのシート内に変更履歴が表示さ れるのは避けたいと思ってます。) ファイルの場所は該当ユーザーすべてにアクセス権のあるファイルサー バーです。 お知恵をお貸しください・・・。お願いします。
>>661 >履歴をとっていることを悟られずに
むずかしいだろうな
教えたらこっちがやばそう
思いついたのはWorksheet_changeイベントが発生したら それを書き出すようにしたら…ってことだけど、変更履歴って 何を出すの? 特定セルの変更した内容?それとも変更したユーザー?
なんにしても、そんな怪しげな事はここで教えるべきことじゃないな。 まあ、やるのは簡単なんだけど。
教える人はいいことしてると思ってるんだろうね・・・
667 :
名無しさん@そうだ選挙にいこう :2006/07/08(土) 11:02:05
編集の置換で、沢山あるテキストボックスを対象にしたいのですが方法あります?
無い。 テキストボックスの文字列はVBAから取得できるので、VBAで置換すればいいだけ。
669 :
名無しさん@そうだ選挙にいこう :2006/07/08(土) 11:21:34
皆さん、こんにちは。 下記について教えて下さい。 【1 OSの種類 】Windows2000 SP4 【2 Excelのバージョン】Excel2000 【3 VBAが使えるか .】いいえ 【4 VBAでの回答の可否】否 A列に氏名、B列に郵便番号、C列−G列に住所(都道府県、市町村・・・と細かく分かれている)、H列に電話番号が入っているXLSファイルがあります。 C列−F列を1つのセルにまとめるにはどうしたら良いでしょうか。 <現在の状態> A列 B列 C列 D E F G H 東京太郎・123-4567・東京都・東区・西町・1-2-3・ ・03-1234-5678 大阪花子・234-5678・大阪府・南区・北町・4-5-6・ハイツ305・06-234-5678 <このようにしたい> A列 B列 C列 D E 東京太郎・123-4567・東京都東区西町1-2-3・ ・03-1234-5678 大阪花子・234-5678・大阪府南区北町4-5-6・ハイツ305・06-234-5678
>>669 i1=c1&d1&e1&f1 以下2,3…行に対してコピペ
BとCの間に列を挿入→i列をコピーして貼り付け
あ、3行目の貼り付けは、右クリックで形式を選択して貼付→値
672 :
名無しさん@そうだ選挙にいこう :2006/07/08(土) 12:05:31
吾輩《わがはい》は猫《ねこ》である。名前《なまえ》はまだない。 こんな文章の《》でくくられた部分を、《》もろとも一括で削除したいのですが、 何か方法はありませんでしょうか? 【1 OSの種類 .】 WindowsXP SP2 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 思いつきませんでしたorz
674 :
名無しさん@そうだ選挙にいこう :2006/07/08(土) 12:24:19
>>673 通常の置換ですと、《》だけを消すことはできても、
《》にくくられた部分は無理ですよね(´・ω・`)
詳細オプションにもそれらしいものはないし
>>674 ワイルドカードを使え
あと変な顔文字やめろ
そんなんじゃ答えてもらえないぞ
>>674 なんでヘルプ読まないの?
今確かめたらちゃんと乗ってましたよ
せめて言われたことはやってから愚痴ろうよ・・・
678 :
名無しさん@そうだ選挙にいこう :2006/07/08(土) 14:35:34
>>659 とても参考になりました!
ありがとうございます!!
「・・・」君は邪魔だから失せろ 気持ちわりぃ
こめん、今の言葉 全面的に撤回する スレ間違えたぁ
次のように日記をつけようと思うのですが、できれば何かアドバイスください。 まず毎日メモ帳で日記を保存していきます→1日ごとにtxtファイルが増えていきます。 さらにエクセルでタイトルと日付のシートを作って、ハイパーリンクでメモ帳とつなげようと考えてます。 でもこれだと1年の日記の中から、ある言葉を検索することができないのが不満です。 エクセルだけで、きれいな日記を作ることはできますか? またこういうのはワードの方がいいのでしょうか?
>きれいな日記 の定義が分らん、具体的にどんな使い方がしたいんだ?
>>682 1日分の日記=1つのテキストファイルにしたいの?
日記なんて1つのファイルにずらずら書いてけばそれで充分だと思うんだが。
ファイルサイズがあまり大きくなりすぎて重くなるようなら1年分とかキリのいいところで1つのファイルにすればいい。
>>682 VBA書けるならなんとでもなるけど
君のような人なら素直に日記ソフトを使った方がよくないか?
何故に、計算ソフトで日記を? しかも、日記をシート上に書くのではなく外部ファイル。 ってことは、単にExcelを日記txtのフロントエンドにしようってことか? だがそれは激しくソフト違いだ。 Excelはマクロ言語(VBA)が強力なので、それを使いこなせれば 激しくソフト違いなことも可能だが、そんなのは自分の力だけで ソフト違いなことを解決出来る奴がやることで、人に聞かなきゃ出来ない奴が 手を出すべきことじゃない。 自力で解決できないなら、素直に日記ソフトなり、Grepツールなり使ってなさい。
>>684 それだと書いてない日が視覚的に分からないし
PCに詳しい人ならなんとでもなるけどさ
個人の日記みたいなものならブログでも作ればいいんじゃないかな。 業務日誌みたいなものならエクセルで記録してく利点もあるね。 日付、作業内容、作業時間、作業分類、・・・ 例えばこんな感じで1日=複数行で記録を付けていく。 過去の作業を検索したり作業ごとに並び替えたりピボットテーブルで集計したり、色々出来て便利。
689 :
669 :2006/07/08(土) 17:52:55
690 :
682 :2006/07/08(土) 18:36:04
>>683 1日1000字程度の日記を書いて、強調したい文字を大きくしたりするだけです。
で、ワンクリックで指定の日の文章に、ジャンプできるようにしたいです。
>>684 もちろんいっぱいファイル作りたくありません。
まさに今はワードにずらずら書いてるんですが、一ヶ月ちょいで2万字を越えてしまい
例えば「6月10日の日記を読みたいな」と思っても、探すのが大変なんです…
>>685 フリーの日記ソフトを100個くらい試したんですが、いいのないんです。
どれも文の一部分だけを強調することができないんです。
>>686 日記ソフト→ブログ→Outlook→ワード→エクセルと流れてきました…orz
エクセルでもなかなか難しそうですね。。
>>688 そうなんです。
経済についてのエッセイが多いので、将来的にはタイトルの横にデータを
増やしていけたらなぁとおもってます。
今やってみたらワードパットで一日分30KBでした。
一ヶ月1MBです。
プログラムはできないので、しばらく
>>682 に書いたとおりでいってみようと思います。
みなさんアドバイスありがとうございました。
参考になりました
>>690 強調はテキストファイルじゃ無理だと思っていいぞ
やれないことはないけどそれはワードとかリッチテキストの範疇
>>690 >強調したい文字を大きくしたりするだけです
文字を強調したいならメモ帳や他のテキストエディタじゃ無理でしょ。
>まさに今はワードにずらずら書いてるんですが、一ヶ月ちょいで2万字を越えてしまい
>例えば「6月10日の日記を読みたいな」と思っても、探すのが大変なんです…
日付の行を「見出し1」とかに設定して、見出しマップ機能を使えば、やりたい事は実現出来るよ。
ワードの目次機能を使えばいいんじゃないの?
なんんにしても、Excelで日記テキストの管理をしたいってのは
Visual Basicで日記テキストの管理を行うアプリケーションを作りたいって言ってるのと大差ないからな。
「=2ch」というExcelを使った2chブラウザがあるのを見ても解るとおり、VBA使いこなせば
表計算に関係ないことでも大抵はなんとかなっちゃう。でもそんなのまで扱ってられないので
>>4 ・7ってルールがある。
ということで、ここでのこの話題(質問)は終了ってわけだが、最後に一つソフトを紹介してやろう。
つ FitzNOTE
>>692-693 の言うように、タグリンクのあるリッチテキストエディタ(ワープロソフト)を使う手もあるが
ここまでの要望だと、使い方さえ覚えればこっちの方がしっくり来ると思う。
他人に成りすます奴もいるのか ますます気持ちわりぃな
誤爆?
ツール-保護 ツール-オプション が選択できなくなってしまいました。(グレー表示) 単純にExcel本体を起動した状態でグレー表示になっています。 どうすればいいのでしょうか。 いつ何故そうなったのかすら、わかりません
バージョンも書かずに質問?
関係なくね?
ここにA1からM24のみが表示されてるBookがあります。 ウィンドウオプションで行列番号を表示にしても A〜M、1〜24しか行列番号が表示されてない状態で それ以外は背景色(というかグレー)になっています。 何かを参考に自分で設定したものなのですが、メニュ ーやらオプションやら見渡してもどうしても思い出せ ません。どなたか設定箇所を教えて下さいませ。
>>699 ありがとうございました。解決しました。
すいません、このスレで検索してませんでした。
>>700 いえいえ、関係あるみたいです。
フォルダ名とかが違ってたりしました。
Excel2002 SP3でしたが、参考になりました。
ありがとうございました。
今後はテンプレ使用します。すいません。
>>701 全セルを選択(ctrl+Aなどで)
行番号(列番号)を右クリック→再表示
>>703 ありがとうございます。
N〜IV列、25〜65536行を非表示にすることで再現出来ました。
何か印刷範囲みたいな指定をした様な気がして嵌ってました。
ようやくスッキリ出来ました。
705 :
690 :2006/07/08(土) 23:10:06
>>691-
>>693 テキストファイルじゃ無理なんですね。
Word Padの.docファイルだと可能でした。
やっぱりワードの見出し、目次機能を使えばできるんですか!
ヘルプを何度か読んだんですが、なかなか理解できなかったので
ほったらかしにしてました。
他でだめなら目次機能をマスターしてみます。
>>694 こ、これは・・・!?
少しだけいじってみましたが、カレンダーが付いてるような・・・
一部分だけの書体の変更ができるような・・・
かなりいい予感がします!
今日は時間がないので、また今度使ってみます。
いいソフトを紹介してくださって、ありがとうございました!
【1 OSの種類 .】 WindowsXP HomeEditionSP2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Excel buckup アクセス エラーチェック [ツール]→[オプション]→[エラーチェック] オプションからエラーチェックに移るときに ディレクトリbuckupにアクセス出来ませんと出て操作出来ないのですが どうすればよいでしょうか? エラーチェックだけではなく、スペルチェックや自動保存など [オプション]から先に進めなく同様にディレクトリbuckupにアクセス出来ません と出るのです
707 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 01:46:10
直近3日間の株価の平均を出そうと思います f1=(a1+b1+c1)/3 翌日に新しい値d1が入るので b1,c1,d1を左にドラッグして移動させるとエラーになってf1の式が変わってしまいます エラーを出さない方法があればアドバイスお願いします d1は値をネットから取り込むようにしています excel2003で、XPです よろしくお願いします
>>707 移動でなくコピー&ペーストする or INDIRECTを使う
>>707 つ$
($A$1+$B$1+$C$1)/3
710 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 02:10:31
【1 OSの種類 .】 WindowsMe 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 WEEKDAY関数、15日締、月をまたぐとか色々 20XX年 ○月勤務表 15日 16日 17日.......31日 1日 2日 3日......15日 土 日 月 月 火 水 木 火 上のような今月15日から翌月の15日まで、という感じの勤務表があります。 これをWEEKDAY関数で『年(XXの部分)と月(○の部分)を入力すれば自動的に曜日が入る』という風にしたいのですが… ・月をまたぐ場合(つまり翌月の1日から)のweekday関数はどのようにすべきか。 ・15日〜31日、翌1日〜15日までの日付部分は常に固定。 なので、29日・30日までしかない月の場合は欠けている日付の部分を飛ばして曜日を表示してくれるように出来るか? 以上のことについて、どうかアドバイスをお願いします。
>>710 DATE関数で15日のシリアル値を求め表示形式で日だけ表示、その翌日は+1していく
曜日も表示形式でできるし、作ったシリアル値からWEEKDAYで求めてもいい
翌月の数日をIFとDAYを組み合わせて調べて15日を超えたら表示しないようにする
712 :
710 :2006/07/09(日) 02:47:03
>>711 おっ!!ありがとう御座います。今試してみました。
ちゃんとその月の日数がいくつあるかを勝手に判断してくれるのですね。
ちなみにこの方法だと、29〜翌1日辺りのセルが微妙に変化しますよね?(説明難しい。伝わるかな…)
出来れば日付の部分は増減させないようにしたいのです。
つまり、例え2月でも日付の部分は絶対に31日まで表示している、
ただ、存在しない30日31日は空白にして飛ばす…という風になれば一番いいのですが…
ちょっと難しいですかね(´・ω・`)
>>710 A1に西暦を入力
B1に月を入力
C1に月の日数【=DATE(A1,B1+1,1)-DATE(A1,B1,1)】
※1月だったら31(日)。2月だったら28(日)。閏年にも対応。
A2に15日【=DATE(A1,B1,15)】
O2は29日【=IF(C1>=29,A2+14,"")】
P2は30日【=IF(C1>=30,A2+15,"")】
Q2は31日【=IF(C1>=31,A2+16,"")】
R2は翌月の1日【=DATE(A1,B1+1,1)】
A3に曜日【=IF(A2="","",TEXT(WEEKDAY(A2),"AAA"))】
とりあえず これが一番簡単かな?
714 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 06:57:49
下記について教えてください(よろしくお願いします) 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000(だったと思う) 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可(勉強します) ●複数のブック(ブック内には複数シート有)があり、その必要部分のみを 集計用ブックを作り、そこに表示させる事ってできますか? 【例】【ブックA】(シート@,A,B・・・・I) 【ブックB】(シート@,A,B・・・・I)があり 【集計用ブック】に各シートのA1部分の一覧表を作成 (で数字が変わればブックを開かなくても自動的に 集計用のブックの数字も反映される) 仕事で年2回100くらいのブックを串刺し集計していますが 死んでます・・・・お助けを・・・(VBAが必要?)
715 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 08:52:17
>>そこに表示させる事ってできますか? できます。 以上
>>714 C:\集計データ(データの保存先)
ブックA、@(ブックとシートの名前)
集計させたいブックのセルに
='C:\集計データ\[ブックA.xls]@'!$A$1
でOK!
一番簡単なのは
集計元と集計先のブックを同時に開く
集計先のセルで = を入力
そのまま集計元のブックをアクティブにして、参照先を選択し確定
717 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 09:35:49
俺のへなちょこマシンじゃ100個のブックを参照したら
開くのに何十分かかるやら (-_-;)
>>714 は大丈夫かな、、、、、
>>714 もうちょっと構成を詳しく書いてみたら?
沢山ブックがあるのならVBA使った方が早いだろうけど
その場合、どんな構成か詳しく判らないと書きようも無いし
719 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 10:19:07
エクセルで 12345 ってセルに入力すると \12,345- っていうふうに自動で変わるようにできませんかね? 書式設定を通貨にすると \12,345 になっちゃうし、 ="\"&セル&"-" ってやると \12345- になっちゃいます やりかた無いのでしょうか???
>>719 セルの書式設定→表示形式ユーザー定義
\#,##0-
負の表示もほしいなら通貨で好きな表示方法選んでから ユーザー定義を選ぶとさっき選んだ書式が入る あとは720を参考に書き換えるだけ
すごく便利なのに以外と知られていない『表示形式』 AAA 数値を曜日に [DBNum1]#,##0 数字を漢数字に [青][>=100]#,###;[赤][<100]#,### 100以上なら青。100未満なら赤で表示。 『条件付き書式』を使わなくても ここまで出来る。 みんなも色々試してみよう!
724 :
707 :2006/07/09(日) 11:00:53
725 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 11:51:37
【1 OSの種類 .】 WindowsXP pro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ネットワークフォルダ chdir chdrive ネットワークフォルダをカレントフォルダに設定したいのですが、 上手くいきません。ネットワークドライブを割り振らない方法で ご存じであれば、どなたかご教授くださいm(_ _)m 以下の方法では無理でした ChDir "\\127.0.0.1\xxx" ChDrive "\\127.0.0.1"
【1 OSの種類】 Windows2000 【2 Excelのバージョン】 Excel2000 【3 VBAが使えるか】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード】 在庫一覧表から特定の商品の合計を集計させたい。 例. [商品名][数量] バナナ 1 メロン 3 ミカン 2 バナナ 2 メロン 1 ミカン 4 上の表からバナナの数量の合計を出したい。 「バナナ 3」って感じで。 なんかできそうでできないorz お願いします。
>>725 ネットワークドライブを右クリック→ネットワークドライブの割り当て
>>725 まったくテストはしていないが、こういうのがあったんで。これが使えるか使えないかは責任はもてません。
APIを使っていいなら。
=====================
Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
'
Sub Test()
SetCurrentDirectory ("\server1aa")
Application.Dialogs(xlDialogOpen).Show
End Sub
=====================
教えてください あるセルの文字をほかのセルに出るようにしたいので A1に「あいうえお」 A2に「=A1」 と入れるとA2に「あいうえお」と出ます でも、A1が空欄だとA2に「0」と出てしまいます。 空欄の時にA2も空欄にする方法はないでしょうか?
>>731 =IF(A1="","",A1)
もしくは
ツール → オプション → 表示 → ゼロ値 のチェックを外す
735 :
726 :2006/07/09(日) 13:26:03
>>727 うぉ、言われてみればって感じだなorz
申し訳ないです。ありがとう。
736 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 13:32:09
関数の推定ってどうすればできますか?
737 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 13:50:02
PCかなり初心者です。エクセルの事を教えてもらってよろしいでしょうか? エクセルを勉強しようと思い、友人からもらったMOUS教本EXCEL2002をインストールしてみたのですが 私の使ってるPCはEXCEL2003みたいで、CD−ROMがインストールまでは出来るのですが実行できません。 新しく2003用の教本買わないと駄目でしょうか?何とかこの教本を利用したいのですが・・・。 どなたか教えて頂けませんでしょうか?
>>737 教本に動作環境書いてないか?
2002限定のはず
わがままいくない
739 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 14:21:31
>>737 です
動作環境書いてますが内容がよくわからなくて・・・。
やっぱ無理なんですかね・・・。
740 :
725 :2006/07/09(日) 15:05:26
>>728-729 ありがとうございました
729氏の方法でネットワークフォルダをカレントフォルダに設定することができました
==============================
Option Explicit
Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
'
Sub Hoge()
SetCurrentDirectory "\\127.0.0.1\xxx"
End Sub
==============================
また環境限定されますがこのような方法もあるようです
==============================
Sub Hoge()
CreateObject("WScript.Shell").CurrentDirectory = "\\127.0.0.1\xxx"
End Sub
==============================
>>739 動くけど保証外だから
ここでは教えられない
742 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 17:09:38
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 初心者です B1がA1の値から-3以下になったらB1を変色させるという書式設定が、うまくできません ヘルプ、グーグル、家にある基礎レッスンの本を見たのですがわかりませんでした よろしくおねがいします
744 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 17:20:19
>>743 ありがとうございます
「if」で検索してみましたがoffice onelineで一致する項目はありませんと出ます;;
746 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 17:35:51
=IF($B1-$A1<=-3,TRUE,FALSE)
テンプレ必須というわけじゃないんだから 半分省略しようが何しようが構わんだろ
749 :
742 :2006/07/09(日) 17:42:45
>>745 ありがとうございます
セルの値が 次の値より小さい ="(A1)-3"
と設定してるんですが・・・。
ヘルプを見ても理解できません
750 :
742 :2006/07/09(日) 17:57:55
>>746 ありがとうございます
そのままコピーして、やってみましたがうまくいきません
しかし、考え方が少しわかりました
もうちょっと勉強してみます
皆様、ありがとうございました
初心者だと書くから まともなレスがつかなくなるんだぞ
752 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 18:36:12
なんか、ここも不親切になってきたな
753 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 18:40:31
昔からこんなもんだよ
754 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 19:46:03
ガソリン代の計算をしてるんですが、 リットルのlは教科書みたいに筆記体にならないでしょうか?
755 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 19:47:49
Excel 2007ではVBAはつかえないのでしょうか?
>>754 ズバリ出せます。
でも やり方を忘れましたorz
確かなのはインストするとき何らかのオプションを付けるってこと。
フォントだったかオブジェクトだったか。。。
758 :
754 :2006/07/09(日) 20:22:45
筆記体っぽいフォントを選べばいいんじゃね?
761 :
754 :2006/07/09(日) 20:41:44
>>759-760 回答ありがとうございます。
やはりそれしかないですか。なんか思ったような感じにならないものですね。
セルの高さが勝手に変わる書体もあるので考え物です。
とりあえず合うものを探してみます。
お手数かけました。
ガソリン代の計算するのに 見た目にそんなにこだわる必要あるんだろうか・・・
763 :
756 :2006/07/09(日) 20:46:25
>>754 >>761 ちょいと調べてみました(^^)
Unicodeの0x2113がリットル記号(筆記体L)です。
IMEなら文字一覧アプレットでUnicode順を選択、
ATOKなら文字パレットでUnicode表を選択。
もしUnicodeが使えない場合
Unicodeのインスト方法
Officeのインストするアプリケーションの選択画面で
[Office 共有機能] →[インターナショナル サポート] →[ユニバーサル フォント]
私のPCではインストしなくても使えました。
でも会社のPCでは使えなかった記憶があります。
何か他の条件があるのかな?
764 :
名無しさん@そうだ選挙にいこう :2006/07/09(日) 20:47:18
gでいいじゃん
767 :
754 :2006/07/09(日) 21:01:14
>>763 レスありがとうございます。わざわざ調べていただいてどうも。
「Unicodeの0x2113」で出ました!
ありがとうございました!
769 :
746 :2006/07/09(日) 22:43:33
>750 B1の ・『条件付書式』を『数式が』=IF($B1-$A1<=-3,TRUE,FALSE)をコピー ・書式のフォントを赤に設定 で問題ないと思う
770 :
名無しさん@そうだ選挙にいこう :2006/07/10(月) 00:02:25
調べてもわかりません A1=Z1 A2=Z101 A3=Z201 A4=Z301 . . 30行続く.. を簡単に作成する方法を教えてください。 ちなみに今は行間に100行挿入して非表示にしています。
771 :
質問者 :2006/07/10(月) 00:05:25
初歩的な質問かもわかりませんが、皆様教えて下さい。 OSはMeだったんですが、XPのアップグレード版を買って インストールしたまではよかったんですが、 エクセルに、文字や数字を打ち込めなくなってしまいました。 今の状態は、Excel Viewer 2003というもので、 表示は出来るのですが、編集が出来ません。 編集をクリックすると、 「ファイルを編集するために必要なMicrosoft Excelが 見つかりません」と出てしまいます。 どうしたら、編集出来る様になるのでしょうか? マイクロソフトのHPに行っても、 どれをダウンロードしたらいいのか分かりません。 皆様、どうぞ良きアドバイスをよろしくお願いします。
>>770 A1に =OFFSET($Z$1,100*(ROW()-1),0)
以下A30までコピー
>>771 いま入っているのは見るだけしかできないものだ
ちゃんとしたExcelを再インストールするしかない
774 :
質問者 :2006/07/10(月) 00:19:12
>773様、早速のお返事ありがとうございます。 しかし、 「ちゃんとしたExcelを再インストールするしかない」のは よく分かったのですが、マイクロソフトのエクセルのどこを ダウンロードしたらいいのか分かりません。 分かる様でしたら、教えてもらえますでしょうか?
775 :
名無しさん@そうだ選挙にいこう :2006/07/10(月) 00:22:17
>772 解決です。ありがとうございました。関数の意味は自分で調べます。
>>774 どこでダウンロード販売してるかは知りません
それよりMeの頃使っていたExcelのCDなり何かを使えばいいだけです
777 :
質問者 :2006/07/10(月) 00:30:56
>773様、ありがとうございます。 言われてみれば、その通りですね。 パニクっていて、気付きませんでした。 早速、やってみます。 ありがとうございました!
1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
エクセル起動時に「400」というエラーが必ず出るようになりました。
OKをクリックすれば、通常通り使えるのですが
なんとかこのエラーを出ないようにしたいと思っています。
症状としては以下のURLの人と同じようです。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1938442 Officeの再インスコはしても治りませんでした。
分かる方いらしたら、ご助言などお願いします。
780 :
778 :2006/07/10(月) 00:53:41
>>779 ありがとうございます。
省略してしまいましたが、読んでました。
リンク先の質問者と同じ状態だと思います。
私には質問者のような心当たりはありません。
アドインで入れてるソフト辺りが怪しそうだとは思うんですが
なんで怪しいと思うものがあるのに、それを外してみることをしないんだ? それにアドインがらみだったら、何てアドイン使ってるか書かないと第三者にはわからんぞ。 今出てる情報だけで回答出来ることが有るとすれば、「OSごと再インストールすれば直る」ってことだ。 それで満足なら構わないが、この回答じゃ困るってならちゃんと自分で試せることは試して、情報もきちんと出そう。 アドインってのはマクロの固まりなわけで、「あるマクロを実行するとエラーが出ます」と言いながら そのマクロの内容を隠してるようなものだ。 まあアドインがらみだったら、ここで質問するべきことではなく、そのアドインの作者に言うべきことだがな。
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 一括変更 フォルダの中の、全てのエクセルファイルの値を 一括して変更をする事は可能ですか? 例えば、sheet1!A1を、ひろゆき → 2ch にしたいのです。 ファイルの数が多いので、手作業じゃ大変なんです。
>>770 A1='=Z1、A2='=Z101、A1:A2選択、下へオートフィル
選択状態のまま、データ→区切り位置→完了
このテクは、ずいぶん前にこのスレで教わったけど
いろいろ応用が利いて便利。
>>782 単に一つのファイルの値を変更する操作を
Dir関数とループで全ファイルに行えばいいだけだと思うが。
とりあえずこれで解らないなら
>>4 ・8に従って、自分で書いたコードを
何レス使っても良いから省略せずに書いてね。
あとは例外処理の条件とかも宜しく。
785 :
名無しさん@そうだ選挙にいこう :2006/07/10(月) 15:13:58
786 :
778 :2006/07/10(月) 16:36:15
>>781 スイマセン、ごもっともです。
アドインをアンインストールで解決しました。
787 :
名無しさん@そうだ選挙にいこう :2006/07/10(月) 23:29:44
>>783 やってみたらできました。でも意味がどうしても理解できないので
応用ができそうにありません。理解できたらかなり使えるテクニックだと
思うのですが。。。
。。。詳しく教えてもらってもよいでしょうか。
よろしくお願いします。
要は、MSオフィスお得意の「余計なお世話」機能を活用するってこと。 Excelは、数字の入力されてるセルをドラッグすると、連番で貼り付けたがる癖があるんだ。 気取って言うと「等差数列でコピー&ペーストしようとする」お節介を焼く。 この等差数列の差分がデフォルトでは 1 なんだけど、二つ以上のセルで差分を明示してやると 2おき、3おき、…nおきの数列を作るべきとお節介を焼いてくれるわけ。 だから、A1とA2で、Excelに「100おきに作ればいいのか」と思い込ませることができれば あとはドラッグで済んじゃう。
789 :
782 :2006/07/11(火) 08:02:33
>788 ただ、セル番地に対しては余計なお世話を焼いてくれないので 一旦数式を文字列として入れておいて、後から数式に戻す。
数百行ある表印刷するとき 画面で見る分には(一行目固定できるので)よいんだが 印刷物で各ページの一行目に画面で見えてるのを入れたい場合 (カラムの説明) どうしたらいいの
>>791 ページ設定 -> シート -> 印刷タイトル
【1 OSの種類 】 Windows98 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか 】 はい 【4 VBAでの回答の可否】 可 コンボボックスについての質問です。 現在Sheet1にコンボボックスを設定していて入力範囲をSheet2!$A$2:$A$7にしています。 入力範囲のデータは1行目を空白2行目以降をデータとして表示してるのですが、bookを 開いた時に自動的にコンボボックスを1行目の空白に設定することは可能でしょうか? 今のままですと作業を終え保存し次回開くと、コンボボックスの値が保存した時の値が 表示されたままになってるので、1行目の空白で表示させたいと思っています。 わかる方がいらっしゃったらよろしくお願いします。
>792 きゃー すてき ありがとうございます
>>793 > bookを開いた時に自動的に
Workbook_Open、Auto_Open
> コンボボックスを1行目の空白に設定
ListIndex=0
ちなみに、1行目を空白にしなくても、ListIndex = -1にすると空表示になる。
それとフォームの方のコンボ ボックスじゃなくて、コントロールの方のComboBox使ってね。
796 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 13:13:23
EXCEL2003 WINDOWS XP PROFESSIONAL 小さな事務所にて、エクセルのワークシートを2台以上のパソコンで共有させています。 もちろん、他のパソコンでも変更・追加を出来るようにしているのですが・・・ パソコン3台 2台はWINDOWS XP PROFESSIONAL(内1台がメインファイルを所有している) 1台はWINDOWS 2000 PROFESSIONAL EXCELは3台とも2003です。 EXCELのツールバー [ツール]→[ブックの共有]→[編集] □複数のユーザーによる同時編集と、ブックの結合を許可する(A) にチェックが入っており、灰色になっています。 [詳細設定]では 変更の履歴- 変更離席を保持しない(D) にチェックがしてあり、灰色になっています。 変更の更新- 自動保存(A)にチェックが入っており このブックの変更を保存し、他のユーザーの変更を見る(C)にチェックがあります。 変更のコンフリクト- 保存時に変更箇所を反映する(T)にチェックが入ってます。 個人用ビューに含む- □印刷の設定(P) □フィルタの設定(F) 共にチェックが入ってます。 このファイルを置いているパソコンが起動されていない時も変更できるようにオフラインでも観覧・追加・変更できるようにはしています。 FILE(Administrator v13) と、ファイルが多くなるだけでメインのファイルには変更がされていない時があり困っています。。 どうしたらいいのでしょうか? どなたか判る方がおりましたら教えて下さい。
797 :
793 :2006/07/11(火) 13:13:56
>>795 回答ありがとうございます。
フォームの方で作ってるみたいなので作り直してみますね。
798 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 13:59:20
【1 OSの種類 .】 WindowsXP ,WindowsME
【2 Excelのバージョン 】Excel2003, Excel2000
【3 VBAが使えるか .】 少し
【4 VBAでの回答の可否】 可
【5 OS,Excel共に上記内容を両方使用中】
Excelを利用し成績の管理表を作り利用していますが、これを折れ線グラフにしたいと思っています、全ての入力項目をするとグラフに追加表示される様に可変範囲のグラフしたいのです。
○ "Sheet1(成績)"で成績を入力し
○ "Sheet2〜"Sheet3"で分析評価し
○ "Sheet4(評価)"で集計をしています、
○ "Sheet4(評価)"をグラフかしたいのですが、
○ グラフのオープションでは
「折れ線グラフの0をプロットしない設定」や
「可視セルのみプロットする」の設定はしておりますが、
※各セルに"Sheet1(成績)"のリンク数式が有る為0表示されてしまいます。
http://kiyopon.sakura.ne.jp/situmon/kaitou/index02.htmでの NA()で返す事も試みましたが、
グラフの項目とデーターテーブルの数値は空欄のまま表示されており、
更に"Sheet4(評価)"自体の集計が巧く行きません。
皆様のお知恵拝借します。
799 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 16:17:06
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 質問です。 例えばB1に2、A1にIF(B1=2,D12,D10)と入れた時に、 D12とD10をA1に表示させたくないのですが、別のセルに結果を返す事は出来ますか?
数式は、式を入れたセルにしか結果を返せない。 A1以外に結果を返したいなら、その式を「別のセル」に入れれば良いだけの話。
801 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 16:44:40
>>800 A1以外にも、「B1が3ならD13を“別のセル”に表示」
「B1が4ならD14を“別のセル”に表示」「B1が5ならD15を“別のセル”に表示」・・・とあるので、
色々なIFを使った結果の表示が一つのセルに纏められないかどうかと思って聞きました。
その様子ですと出来そうにありませんね。ありがとうございました。
その規則性だけから判断すると“別のセル”に =INDIRECT("D" & (10+B1)) を入れれば良いんでね? 何でA1に入れようとするんだ?
803 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 17:56:08
>799,801 =CHOOSE(B1,D10,D12,・・・・・・)
804 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 18:03:57
>>803 ようやくやりたい事が出来ました。
ありがとうございました。
他の方も初歩的な質問にも関わらず、本当にありがとうございました。
【1 OSの種類 】 Windows98 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか 】 はい 【4 VBAでの回答の可否】 可 =IF(E16="","",IF(ISERROR(VLOOKUP(E16,sheet2!A2:H2000,2,0)),"データは登録されてません。" ,(VLOOKUP(E16,sheet2!A2:H2000,2,0)))) 現在VLOOKUP関数でもとめられた値をセルにもってきてるのですが、この命令と同じ内容をVBAで 実行するにはどのような関数を使えば良いでしょうか? VBAを使い始めたらできるだけセル上に関数を置きたく無くなってきたので今回質問しました。 よろしくお願いします。
806 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 20:12:19
最後にコピー、値のみ貼り付けをつけとけばいいじゃん
807 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 20:21:11
for each myrange in sheet2!.range("a2:h2000") if myrange.value=指定シート!.range("e16").value then 指定セル.value=myrange.offset(,1).value end if next
808 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 20:22:22
【1 OSの種類 .】 WindowsXP Professional 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A列がデータ、B列が真偽値であるような下記のセルがあり、 C列にB列から判断をしたA列を抜き出すにはどうしたらよいでしょうか? A1=hoge B1=t A2=foo B2=f A3=var B3=t A4=hage B4=f から C1=hoge C2=var という出力を得たいです。 (select A from sheet where B = 't' みたいな)
XPにオフィス2003を入れて使っているんだけど エクセルとかワードもそうなんだけど、ソフトを起動するたびにインストールの設定みたいな表示がされて 一連の処理を終えないと起動しない。 しかもファイルを開いたつもりでも、この時点ではエクセルの起動だけしか実行されなくて 再度ファイルを読み込まなければ開かないのですが、これってどういう設定なんでしょうか? 普通にファイルをすんなり開いて起動させるにはどうすれば良いのでしょうか?
811 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 20:55:11
812 :
809 :2006/07/11(火) 21:23:13
>>811 Cn=IF(Bn="t", An, "")
と書いたのですが、
C1=hoge
C2=
C3=var
C4=
になります。
どうすれば詰めて抜き出すことができますか?
813 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 22:06:27
初心者な質問で申し訳ないですが、 以下のような論理式を使いたいのです。 ・X<-1ならばA ・-1<X<1ならばB ・X<1ならばC IFを2回使えばできるのですが、もっとスマートな方法ってありますか? よろしくお願いします。
実際の仕事の場では考え付くのに時間がかかるエレガントな解法よりも ちゃちゃっと出来る実戦的な解法の方がよい。
>>813 =IF(A1<-1,"A",IF(A1>1,"C","B"))
う〜ん。これ以上スマートと言われてもなぁ。
816 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 22:44:11
ANDを使う
case文のほうがいい
818 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 22:48:14
>>813 -1|A
+1|B
99|C
=VLOOKUP(X,範囲,2)
>>814 条件が3つくらいならいいが
増えたりすることも考えよう
820 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 22:55:26
821 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 23:12:24
822 :
名無しさん@そうだ選挙にいこう :2006/07/11(火) 23:14:28
823 :
813 :2006/07/11(火) 23:17:28
ありがとうございます。 やはりIFを使うのが一般的でしょうか。 VLOOKUPも面白いやり方ですね。 参考にさせて頂きます。
失礼な人だな・・・
825 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 03:18:32
すんません、2002を使っているのですが y=axという関数のグラフを作りたいときって 具体的な数値((1,a)、(0,0)など)を一次近似するしかないんですかね?
>>825 なんで2002なんて地雷を使ってるの?
827 :
805 :2006/07/12(水) 08:41:48
>>825 マクロ使えばできるけど
テンプレ書いてないのでやり方は書かない
829 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 09:46:44
すいません。Excel2002で、表を行幅も全て変えずに張り付けたいのですが 貼り付けの際すべてではりつけても行の幅はかわりませんが、いい方法ご存知 の方いらっしゃいませんか?2000ではできたと思いますが?よろしくお願いします
無理
831 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 11:02:28
>>829 行番号を選択してコピー
これだと列幅は反映されないけどね。
全てを選択してコピー
行&列幅を反映できる。
しかし既に何か入力されてるセルを上書きしちゃうけど。
だったらシートをコピーした方が手っ取り早い。
832 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 11:16:40
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 宜しくお願いします。 シートに挿入した写真をUserFormのImageに読込む方法を教えて下さい。 フォルダからは、Image1.Picture = LoadPicture( )で読込めるんですが、 シートで加工した写真を読込む方法が分りません。 Imageを使わないで、他によく似た方法が有るのなら、それでも結構です。
833 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 11:50:14
>>829 1.コピー
2.Shift+編集
3.図の貼付けor図のリンク貼付け
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 配列 積 A B C 1 1 2 2 3 9 3 5 2 例えばこういう配列があったとして、PRODUCTで地道にやっていかないで、AiとBiの積をCiに入れたいのですが どのようにやればいいのでしょうか?
配列がどうとか、PRODUCTがとか、複雑な話なの? >AiとBiの積をCiに入れたい C1=A1*B1 これを下にオートフィルという単純な答えでは、話が噛み合ってないかな・・・
わざと分かりづらくしてるんだろうか・・・
837 :
834 :2006/07/12(水) 12:08:42
オートフィルで瞬殺でした。 ありがとうございます。 もっと勉強してきます・・・
838 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 12:52:03
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ すみません エクセルのデータを誤って真っ白の状態を上書き保存をしてしまいました 以前のデータを復活させる方法はありませんか?
>>838 できる場合とできない場合がある。
「エクセル データ 復元」でぐぐれ。
>>838 とりあえずCtrlを押しながらExcelを起動。
>>832 図形オブジェクト(画像でも、シートに貼れば図形オブジェクト)を画像としてクリップボードにコピー
→Shapes().CopyPicture
クリップボードの画像をStdPicture形式で取得
→API(
>>4 ・7)
取得したデータを表示
→Image.Picture = StdPictureデータ
>>838 自動バックアップ取ってたなら、バックアップファイルを漁る
→%USER_PROFILE%\Application Data\Microsoft\Excel
取ってない、または取ってたけど残ってないなら、最後の手段として、数百万の費用を掛けて
HDDを解体・解析してくれるところに頼むという手もあるが
上書きしてしまった場合は成功率が低く、失敗でも金取られるので
諦めて、以後操作に注意し、こまめにバックアップを別な場所に保存するようにする。
>>838 とりあえず
C:\Documents and Settings\ログイン名\Application Data\Microsoft\Excel\
を参照
自動バックアップに残ってるかも?
【1 OSの種類 .】 WindowsXP ProSP2 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Googleにて マクロ チェックボックス 解除 コントロールツールボックスで作成した、チェックボックスのチェックを 一括して解除する方法があればご教授いただけないでしょうか。
>>843 OLEObjectsに対してループ回して
TypeNameが"CheckBox"の物を処理。
846 :
838 :2006/07/12(水) 13:54:53
みなさま、レスありがとうございます C:\Documents and Settings\ログイン名\Application Data\Microsoft\Excel\ で検索してみましたが、出てきませんでした 今、「復元」で検索したのですがすでに上書きしたものが出てきました 以前のものは検索では出てこなかったようです もう少し復元の使い方を読んでみます
847 :
838 :2006/07/12(水) 14:08:14
ああ ダメだぁ あきらめます みなさん、ほんとにありがとうございました!
848 :
838 :2006/07/12(水) 14:14:59
今、ヤケクソで復元してみたら文字化けしたものが出てきました エクセル上で正常に動くようには、なりませんよね?
>>848 ならない。
つーか、必要なのは化けたファイルを正常に読む方法ではなく
化けないように復元する方法だが、その辺はExcel関係ないので。
>>849 > 名前 = オブジェクト.Name
> ActiveSheet.OLEObjects(名前).Object.Value = False
ワロタ。For Eachループ回してる意味無いじゃん。
勉強中とか言ってるけど、Excel VBAの本書いてる人がこのレベルかよw
851 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 16:23:11
2000年1月1日 2000年1月2日 ・ ・ ・ ・ 2000年12月31日 と表示する際に最後の行までカーソルを移動させるのがめんどくさいので、 エクセルのシートの縦の長さを固定したいのですが、どうすればできますか?
【1 OSの種類 】 Windows98 【2 Excelのバージョン 】 Excel97 【3 VBAが使えるか 】 はい 【4 VBAでの回答の可否】 可 【質問】Select Case文で判断しApplication.Runで他のマクロを実行した場合の質問です 変数の値をマクロを跨いで参照することは可能でしょうか? 今動いてるマクロが長くなりすぎて作業毎に分割しようと考えたのですが、一つのマクロで 動作していたため、他のマクロを呼出そうとすると変数の値をシート上に退避させてもう一度 参照するようにか思い付きませんでした。 もしもシートやサブフォームに変数の値を退避せず、マクロを跨いだ変数設定方法がありまし たらよろしくお願いします。
> と表示する際に最後の行までカーソルを移動させるのがめんどくさいので、 の部分と > エクセルのシートの縦の長さを固定したいのですが、どうすればできますか? のつながりが意味不明
>縦の長さを固定したい の意味を考えるのがめんどくさい、、、
855 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 17:02:12
856 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 17:02:38
>>853-854 書き方が悪くて申し訳ありません。
2000年1月1日〜2000年12月31日までドラッグをすると、
どうしても勢いがついて左の数字(行)が10000とか行ってしまうので、
行を365までしか表示されないようにしたいのです。
文章がへたくそですいません。
857 :
832 :2006/07/12(水) 17:14:33
>>841 ありがとうございます。
しかし、クリップボードの画像をStdPicture形式で取得する方法が分りません。
---------------------------------------
Dim PIC As StdPicture
Sheets(1).Shapes("Picture1").CopyPicture
???
Image1.Pictures = PIC
----------------------------------------
???の所は、どう書くのでしょうか?
ちなみにAPIは分りません。
API(
>>4 ・7) が?です。
>856 自分で答えを書いているじゃんか。 365までしか表示されないようにしたい ↓ 366以降を表示しない くれぐれもドラッグで行を選択して非表示なんて、めんどくさい事しないように。
テンプレは必須ではないが 使わない奴は アフォばっかりだな
860 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 17:32:13
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2002
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード 】行 非表示 エクセル
>>858 お答えありがとうございます。
行や列を非表示させる方法はわかりました。
しかし、ドラッグしなければならないです。
366以降を表示しないするにはどうすればよいのでしょうか?
名前ボックスに A366 Ctrl + Shift + 「↓」 Ctrl + Shift + 「→」
862 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 17:43:29
>>861 ありがとうございます。
範囲指定して削除しました。
稚拙な質問ですいませんでした。
【1 OSの種類 .】 WindowsXP pro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Worksheet キー イベント あるセルでEnterを押したら、フォームが開くというふうにしたいのですが、 worksheetには、keydownイベントがないらしいので、キー情報を拾えなくて困っています。 今は暫定的にマウスの右クリックを拾うようにしていますが、キーボードオンリーですべての操作をこなしたいので、 キーイベントを拾ってフォームを開きたい。 ↓これと同じような感じで、Enterキーを拾いたいです。 Private Sub Worksheet_BeforeRightClick(ByVal target As Range, Cancel As Boolean) ResultInputForm.Show Cancel = True End Sub ちなみにフォームの中身はリストボックスがあって、それで選択すると、 ActiveCellにその結果を代入するというものです。
864 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 22:19:27
A列にあるデータについて、B列にそのもじがあれば削除するということがしたいです。 例えば 1 2 2 3 3 4 5 の場合、2と3が消えて1と4と5のみになります。このようなことがしたいのですが、どのようにすればよいでしょうか? アイデアもしくはヒントをご教授願います。
>>864 こんなのでどうでしょう?
1〜5 までがA列、2,3がB列にあるとします。
Dim wst As Worksheet
Dim i As Integer
Dim j As Integer
Set wst = ActiveSheet
i = 1
Do
If IsEmpty(wst.Cells(i, 1)) Then Exit Do
j = 1
Do
If IsEmpty(wst.Cells(j, 2)) Then Exit Do
If wst.Cells(i, 1).Value = wst.Cells(j, 2) Then
wst.Cells(i, 1).Delete xlShiftUp
j = 0
Exit Do
End If
j = j + 1
Loop
If j <> 0 Then
i = i + 1
End If
Loop
Set wst = Nothing
866 :
864 :2006/07/12(水) 22:39:28
うわっ、マクロか。 関数ではどうにかなりませんよね?
ごめん、インデントなくなっちゃった。 Dim wst As Worksheet Dim i As Integer Dim j As Integer Set wst = ActiveSheet i = 1 Do If IsEmpty(wst.Cells(i, 1)) Then Exit Do j = 1 Do If IsEmpty(wst.Cells(j, 2)) Then Exit Do If wst.Cells(i, 1).Value = wst.Cells(j, 2) Then wst.Cells(i, 1).Delete xlShiftUp j = 0 Exit Do End If j = j + 1 Loop If j <> 0 Then i = i + 1 End If Loop Set wst = Nothing
>>866 あ、関数でやりたいの?
っていうか、セルを削除するのではなくて、表示を消せばいいだけ?
A B
1 2
2 3
3
4
5
これを
A B
1 2
3
4
5
こうすればいいのかな?
869 :
864 :2006/07/12(水) 22:43:11
870 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 22:44:27
871 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 22:45:46
質問です。 検索条件にセルの色は使えますか? たとえば、セルの色が赤を合計、青を合計です。
>>864 じゃあ、こんな感じでどう?
A B C
1 2 1
2 3
3
4 4
5 5
とC列に表示させるには、C1セルに
=IF(ISNA(MATCH(A1,$B$1:$B$2,0)),A1,"")
って式を入れて、C5セルまでオートフィルすればいいのでは。
873 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 22:51:41
>>831 ありがとう御座います。
シートのコピーですか?シート1に7月分とか入れたいのですが
手順簡単なのありますか?
>>871 オイラはExcel2002だけど、「編集」−「検索」(もしくはCtrl+F)で、
「オプション」ボタンをクリックすると、「書式」ってボタンが出てくるから、
そこでフォント色を指定すると、指定した色のセルを検索してくれるよ。
875 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 22:56:47
>>873 ん?言ってる意味がよく分からないが、シートのコピーなら
シート名で右クリック → 移動またはコピー → コピーを作成するにチェック
>>872 をおこなってみたのですが、どうもうまくいきません。
>>874 レスありがとうございます。
セルの色別に合計を求めたいんですが、
たとえば、=SUMIF(A1:A10,セルの色が青,A1:A10)こんな感じです
>>876 うまくいかないとは、どういう結果になってるって事かな?
C1セルに
>>872 の式を入力した結果は 1 と表示されてる?
MATCH関数の2番目のパラメータはセルの絶対参照($つき)じゃないと
オートフィルした時に値が変わってしまうから注意です。
879 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 23:17:50
>>876 俺は上手くいったよ。
$B$2 を $B$5 に変えてみよう。
880 :
876 :2006/07/12(水) 23:19:58
A 列に1〜10とうってみて、B列に5,6,3と打ってみたところ5しか消えてくれません
881 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 23:21:35
>>877 色を判別するためのセルを隣に作るしかないね。
赤なら1、青なら2って感じで。
それならSUMIFで集計できる。
もしかしてマクロなら出来るのかな?
882 :
876 :2006/07/12(水) 23:24:27
ああ、そういうことか。すいません。 数値は適当に変えろと。
883 :
名無しさん@そうだ選挙にいこう :2006/07/12(水) 23:24:33
>>880 オカシイなぁ。
C1には間違いなく
=IF(ISNA(MATCH(A1,$B$1:$B$10,0)),A1,"")
が入ってますか?
>>880 その場合は、
=IF(ISNA(MATCH(A1,$B$1:$B$3,0)),A1,"")
これでいいよ。
っていうかさ、最初に提示した例とは 値が変わっているんだから、
関数の中のパラメータの値も違ってくるよ。
MATCH関数のヘルプは見てる?
>>881 ありがと!
やっぱ別セルでしないと無理なんですね。
886 :
874 :2006/07/12(水) 23:34:10
>>877 ワークシート関数ではおそらく実現は難しいと思いますね。
セルの情報を取得するCELL関数でもセルの色は取得できないし。
オイラはExcel2003を使っていないから、ひょっとしたら2003だったら
あるのかも・・・
という訳で、オイラだったらVBAでユーザー関数作ってしまうと思います。
試しに作ってみて、一応期待した結果は出せました。
Public Function SumColorIndex(pRng As Range, pIdx As Integer) As Variant
Dim rg As Range
Dim dblSum As Double
SumColorIndex = xlErrValue
dblSum = 0
For Each rg In pRng
If Application.WorksheetFunction.IsNumber(rg) Then
If rg.Interior.ColorIndex = pIdx Then
dblSum = dblSum + rg.Value
End If
End If
Next rg
SumColorIndex = dblSum
Set rg = Nothing
End Function
第1パラメータに集計するセル範囲を、第2パラメータにセルの色インデックス(デフォ設定の赤なら3)を
設定してください。ちゃんとテストしてないから、バグあったらスマソ。
A列に任意の文字列が隙間なく並んでいます。 これをランダムに並べ替えてみたいのです。たとえば 1 2 3 4 なら 4 1 2 3 という具合にです。抽選のようにしたいのですが、全く良い案が思い浮かばないわけです。
>>887 隣の列にRAND関数(乱数を発生させる関数)を使って乱数をおいて、それを
並べ替えのキーとして使うのはいかが?
889 :
877 :2006/07/12(水) 23:58:52
う〜ん・・・・・
890 :
888 :2006/07/13(木) 00:09:55
>>863 こんなのどうでしょう?
ユーザーフォームを表示させたいワークシートのActivateイベントに、
Application.OnKey "~", "ShowUserForm"
Application.OnKey "{ENTER}", "ShowUserForm"
これで、Enterキーのイベントを拾えます。2行書いてあるのは、上が通常のEnterキーで
下がテンキーのEnterキーです。 "ShowUserForm"ってのは、起動させるプロシージャー名ね。
あと、DeActivateイベントでOnkeyメソッドの解除を入れた方がいいかも。
Application.OnKey "~"
Application.OnKey "{ENTER}"
で、ShowUserFormプロシージャーをこんな風に書いたらどうでしょう。
A1セルでEnterキーが押されたら、ResultInputFormフォームを開くとします。
Public Sub ShowUserForm()
If Selection.Address() = "$A$1" Then
ResultInputForm.Show
Else
Selection.Offset(1, 0).Select
End If
End Sub
A1キー以外の時は、ひとつ下のセルに移動するようにしてます。
>>877 どうまずいですか?とりあえず考えたので、もうちょっと具体的な提示があれば
考えてみます。
ふ〜ぅ、今日はいっぱいレスつけてしまった・・・
>>890 条件も書かないし礼も言わんし、それでいて不満が有るかのような態度を取るような奴は
ほっとき。
892 :
888 :2006/07/13(木) 00:17:55
>>891 その通りだね。
ここ、教えてGooじゃなかったw
>>889 VBA使うしかない、コレ入力して=CELLCOLOR(A1)とかやって使え
Function CellColor(r As Range)
Application.Volatile
CellColor = r.Interior.Color
End Function
894 :
888 :2006/07/13(木) 00:26:34
>>893 そっか、単純に色のインデックスを返す関数を提示した方が
わかりやすかったのかもね。
集計までしちゃったからわかりにくくなっちゃったのかな。
オイラのFunctionに Application.Volatile つけるの忘れた orz
895 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 01:07:29
>>894 横から悪いけど、マクロ詳しくないと理解できないと思う。
マクロ勉強中の俺から見て、
>>886 はよく分かんないけど、もっとスマートじゃないやり方ならマクロで
>>871 なんとかなるし。
質問したことある立場的には、いまひとつ納得できない(満足できない)答えをもらった場合
他の回答も希望の時はぼかすしかないしね。
「アリガト!(´▽`)c⌒っ ^▽^)φ! 他の回答者待ちます。」って訳にはいかないでしょ。
previousボタンって何ですか?
897 :
888 :2006/07/13(木) 03:35:11
>>895 そんなに難しいマクロ書いたつもりはないんだけどね。
なんで集計する機能まで書いちゃったかと言うと、
>>877 で
>たとえば、=SUMIF(A1:A10,セルの色が青,A1:A10)こんな感じです
っていう書き込みがあったから、それに準ずるようなマクロを書いてみた訳。
回答する側としてはぼかされるよりも、わからないとか、期待したものとは違うって
はっきり言ってもらった方がいいと思うな。
マクロ勉強中ならば、さっきくらいのマクロは理解して欲しいと思うよ。
今までプログラミングもExcelもほとんど触った事なくて、昨日から始めました
って言うなら仕方ないけど。オイラがマクロを勉強した時は、サンプルで
書かれているコードをVBエディターにコピペして、ステップ実行してみたよ。
オブジェクトの持ってるプロパティや値は、ローカルウインドウや
イミディエイトウインドウで見れるし。知らないプロパティやメソッドはF1キーで
ヘルプが見れるでしょ。
重複を省きたいのですがいいアイデアありませんか? 例 1 2 3 2 5 だったら 1 2 3 5 というようにしたいわけです。重複したものは消えずに、一つになるというようにしたいわけです。
899 :
863 :2006/07/13(木) 06:38:06
>>890 ありがとうございます。ちゃんと動いています。
【1 OSの種類 .】 WindowsXP pro 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Worksheet 無条件 削除 ダイアログ 出さない Worksheets("hogehoge").Delete としたときに、本当に削除しますか? というダイアログが出てきてしまいます。 これを出さずに一発で殺したいのですが、いい方法はないでしょうか。 (不可視属性にするとかじゃなくて、本当に消したい)
901 :
900 :2006/07/13(木) 09:23:30
>898 データ - フィルタ - フィルタオプションの設定 - 重複するレコードは無視するにチェック >900 マクロだったら下の行を組み込めばいいかも。 Application.DisplayAlerts = False
すごい簡単そうなことなんだけど見つからないのでお願いします IFの条件式で、例えばA1の文字列の中に”("が含まれるかどうか、を条件に指定したい時、 IF(C2="*(*",hoge,fage) とやっても、必ずFalseが返されちゃうんですけど どうやって書けばよろしいのでしょうか? お願いいたします
ごめん、find関数含めないと無理じゃないかな ex : if(c2=(find("(",c2),hoge,fage) とか
WinXP・Excel2002で質問です。 マウスの右クリックで表示されるメニューの項目って変更できますか? 半分くらい消したいのです。 (コメントの挿入やハイパーリンクって頻繁には使わないから) 標準表示と改ページプレビューとで内容が違いますが 両方とも変更したいです。 マクロでもレジストリ変更でも何でもいいのでお願い致します。
907 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 10:33:17
>>903 =IF(ISERR(FIND("(",A1)),"ない","ある")
これで大丈夫っぽい。
>>857 APIを利用して、クリップボードの画像をStdPicture形式で取得する処理は
>>4 の「・7 VBAはプログラム言語の〜」に該当するから、ここで聞かずに自分で調べろってことだろ。
まあがんばってくれ。
>>906 > 変更できますか?
出来ます。
> 両方とも変更したいです。
可能です。
> マクロでもレジストリ変更でも何でもいいので
VBAで出来ます。
VBA書けないから、コード書いてくれとも書いてないし、
具体的にどう変更したいのかも書いてないから後はご自分で。
情報後出しでコードキボンとか言わないでね。
>>908 > VBAで出来ます。
ありがとうございます。
とりあえず勉強してやってみます。
>>907 なるほど結構面倒なのね
"("を探して、ない場合はエラーを返すからISERRか
勉強になりました。
ありがとうございます
911 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 12:01:05
どなたか教えてください。 営業収支が赤字の店が黒字に転換した際の率を算出したのです。 A店 6月 -200,000 7月 400,000 -------------------- 6月から7月に改善された伸び率(収支が何%改善かれたか) B店 6月 150,000 7月 -80,000 --------------------- 6月から7月に悪化した率 以上2点を数値化したいのですが、どのような計算方法があるか色々なサイトや 書籍を見てもわからなかったので、どなたか教えてください。 よろしくお願いします。
算数の話じゃないよ さんすうの話だよ
914 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 13:29:16
=IF(A55>=80,"A",IF(60>A55>80,"B",IF(A55<=60,"C"))) 80≦A55をA、60<A55<80をB、A55≦60をCにしたいんですがA55に60以下の数字を入力してもBになってしまいます。 どこが間違っているか教えてもらえないでしょうか?
915 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 13:31:37
よくみたら不等号が逆ですね こんなことに気づくまで1時間かかってしまった
>>914 数学で書くように 60>A55>80 とは書けない
分けて AND(60>A55,A55>80) と書く
不等号の向きも変
ヒントを下さい excel上で10万件程度のCSVデータを65,536件にカットしてインポートしたいのです。
カットするんならテキストエディタで読み込んで65,536行以降を削除すれば
920 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 14:26:45
>>813 ,914
同類の質問だね、なにかの課題かな?
いや、この手の質問は結構あるものだから、 単にテンプレFAQが無くなった弊害だろう。 ちなみに > 数学で書くように 60>A55>80 とは書けない 正解。 > 分けて AND(60>A55,A55>80) と書く 不正解。(不等号云々は関係なく)
> 数学で書くように 60>A55>80 とは書けない 不正解。(数学でも書かない)
あげ足だけ取るなうぜえ。氏ね。
924 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 15:13:45
>>917 データを65,536件ごとに 複数のシートに分けてインポート
ってことでしょ。
926 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 17:32:24
>>924 データすべてを使うわけではありませんので、複数のシートに分ける必要はございません。
AVでヌキどころだけをぶっこ抜く感じです。
かならずEXCELで、65,536レコード以下でぶっこ抜きたいのです。
ちなみにVBAは少し組めます。
>>908 >>922 なんかさぁ、大人げないよね。
もちろんバカな初心者の方が悪いんだけどね。
これって要するに自己満足レスなんでしょ。
って言う俺も死んだ方がいいな。わかってる。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 OfficeXP 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ? すみません。Excel歴1ヶ月の超初心者です。 Excelを勉強しようと思い色々な本を見てまわってるのですが どれも印刷の設定について詳しく書いてません いつも自分でイメージしてるものとは違って印刷されてしまいます。 (大きかったり小さかったり、縦横のバランスが合ってなかったり) Wordみたいに直感的に分かる方法は無いでしょうか? 印刷のコツみたいなものがあったら教えて下さい。 バカみたいな質問かもしれませんが よろしくお願いします。
929 :
871 :2006/07/13(木) 20:25:31
昨日質問したものです。
>>885 のところで納得してPC切って寝まして、
その後
>>886 でレスいただいてたの今、知りました。
その為、
>>889 の「う〜ん・・・・・」は私ではありません!!
話戻りまして、書いてなかったんですが現在VBAわかりません。
けど、教えていただいたので今度勉強してみようかと思います。
遅くなってすみませんが、886さん、893さんありがとうございました!
>>928 とりあえず印刷プレビューにする。
・ページ設定の「拡大縮小印刷」を極端な倍率(200%とか)にする。
・改ページが青の点線で表示されるから、点線に合わせてドラッグ&ドロップして
印刷範囲が全部1ページに納まるようにする。
・縦横のバランスが合ってなかったら、行&列幅を調整する。
これって思考錯誤しかないんですよね。
>>917 >>926 テキストファイルの1行目〜65536行目までをExcelに
取り込めればいいんですよね。試しに13万行くらいの
CSVファイルをExcelで開いてみたら、「ファイル全体を
読み込む事ができませんでした。」ってダイアログの後、
1〜65536行目までを読み込んでましたよ。
各行の値によって、取り込むかどうかを判断するような
場合だったら、マクロ組むしかないと思いますね。
というか、65535行・256列を超えて使えるようになるのはいつ?
>>932 とっくに扱えますよ
97でもマクロしだい
教えて君はスルーしろ
>>930 ありがとうございます。
おかげさまで理想の印刷に近づけました。
>>931 >>933 ありがとうございます。
結局Line Inputを使ってしろということですね。
939 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 22:29:35
つーかスレタイ読んだから何?って話だよな。
エクセルのグラフの書き方をちょっと教えてください。 OS XP Ver OfficeXP 身長をとったデータが50人分あって、そのデータから例えば、 160-165cmの人、165-170cmの人、170-175cmの人でそれぞれの人数を棒グラフで欠きたいんですが、 この場合直接そういうグラフはかけないですか? いったん、集計したのちに書くことになるのでしょうか? その場合、範囲指定して、指定した範囲に該当する個数を返す関数を教えていたdかえないでしょうか?
942 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 22:54:16
ピボットテーブルとかピボットグラフという機能を使えば簡単に出来る
943 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 23:02:45
指定した値が偶数なら『偶数』、奇数なら『奇数』と表示させるには どうすればいいんですか?
944 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 23:09:54
945 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 23:11:02
エクセルで4×4の行列の50乗くらいのべき乗計算がしたいんですけどどうすればよいのでしょうか?
つーか937って何?
947 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 23:18:31
気にするな!
949 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 23:37:07
A列とB列の値を使ってC列で計算をしたいのですが、数式バーにはどのように入力したらいいのでしょうか? すべてのセルに =A1-B1,A2-B2 と入力するしかないのかな・・・・
950 :
945 :2006/07/13(木) 23:38:01
>>948 調べてみます!ありがとうございました!!
>>949 計算てどんな?
C1が「=A1-B1」で以下同じでいいんなら、入力後オートフィル。
..C1セルの右下にマウスをもってって、十字になったら下にLD&D。
>>949 オートフィルとか調べれ。
あと、範囲を選択してから、式入力後、Ctrl+Enterで確定という手もある
1 (空白) 2 3 をコピーして張り付けたときに 1 2 3 としたいのですが、どうしたらよいでしょうか? 貼り付けのとき空白のチェックを入れてもうまくいかない
954 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 23:46:49
>>951 >>952 ただの四則計算なのですが、例えば数式が Cn=An-Bn の場合はどうしたらいいのでしょうか?
955 :
名無しさん@そうだ選挙にいこう :2006/07/13(木) 23:51:51
オートフィルで調べたら出来ました。有難うございました♪
>>953 空白は、下のような1,空白,2,3の列を空白,5,空白,空白の列に貼り付けたときに
B列は1,5,2,3となるように貼り付けるためにチェックする。
AB
1
5
2
3
VBA使わないなら、オートフィルタを使って「空白以外のセル」を抽出→コピー
→貼付→オートフィルタ解除
昨日、こんな現象に遭遇しました。 ブレークポイント(以下BP)を設定して、動作をチェックしていたのですが、 突然、BPで止まらなくなってしまいました。 BPを設定したプロシージャを呼び出しているステップにBPを設定すると、 確かに呼び出しているんですが、BPを設定したプロシージャのどこにBPを設定しても効果なし。 そこで、問題のBPが効かないプロシージャの中身全てをコメントアウトすると、 処理の記述がないにもかかわらず、本来の処理がされた結果になるんです。 最後には、プロシージャ自体をコメントアウトしたら、 プロシージャがありません!だと んで、コメントをはずすと、何も問題がなかったようにBPで止まるようになりましたとさ めでたし、めでたし。 つかれた。 無駄な時間を返してくれ。
958 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 04:15:30
sheet1に書き込んだ値をsheet2の決まった範囲に移すというマクロをつくりたいんですけど だれか教えてください
もう少し具体的に書いたほうがいいかと
960 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 04:52:41
簡単過ぎて馬鹿かと言われるかもしれないけど 例えばsheet1のA1 A2に数値を入力してボタンを押すと その値がSheet2の上の行から順番に入力されて縦型の表ができるようにしたいんです!
つまりsheet1の適当なセルに、数値を入力して確定(enter)するたびに、 sheet2のA列の上から最初に空白のセルに埋めていけばいいんだな。 sheet1は入力シート sheet2は入力値を保存するシート 簡単すぎる。誰か教えれ!
>>961 そんな感じです!解説thx
誰か教えてください!!
>>962 すまん、w98なのでフリーズしてしまった。
スキャンディスクめんどい
そろそろ買い換えないとなぁ
Sheet1のコードに貼り付けて、
Sheet1の適当なセルに入力してみて
Private Sub Worksheet_Change(ByVal Target As Range)
Dim w As Range
Application.ScreenUpdating = False
Sheets("Sheet2").Activate
Set w = Sheets("Sheet2").Range("A65536").End(xlUp)
w.Offset(1) = Target.Value
Sheets("Sheet1").Activate
Target.Select
Application.ScreenUpdating = True
End Sub
964 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 07:10:54
すみません、違ってた・・。 これ以上聞くのは厚かましいような気もしますが。 もっとシンプルに アクセスで例えるとSheet1がフォームでSheet2がテーブルみたいな感じで 例えばA1に商品名A2に数量A3に単価を入力する項目があって 数値を入力して、確定ボタン(フォームのボタン)を押すと 次々とSheet2の上から最初に空白のセルにデータが埋まっていく 尚且つ、Sheet2のA4には単価*数量の値が入ると、という風にしたいんです!!
ほとんど同じようなもんだし、基本すぎるぞ(一冊ぐらいVBA本は買ったのか?) チェックとかは抜きで!、もう出かけるよ Sub Macro1() Dim w As Range Application.ScreenUpdating = False Sheets("Sheet2").Activate Set w = Sheets("Sheet2").Range("A65536").End(xlUp) w.Offset(1, 0).Value = Sheets("Sheet1").Range("A1").Value w.Offset(1, 1).Value = Sheets("Sheet1").Range("A2").Value w.Offset(1, 2).Value = Sheets("Sheet1").Range("A3").Value w.Offset(1, 3).Value = Sheets("Sheet1").Range("A2").Value * Sheets("Sheet1").Range("A3").Value Sheets("Sheet1").Activate Application.ScreenUpdating = True End Sub
966 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 08:44:04
>>965 とりあえず出来るようになりました!
あとはVBAの本を買って勉強して自分でアレンジしていきます。
ほんとうにありがとう。あなたのことは忘れない!
数字を文字列に変換する関数はあるんですけど その逆はないのでしょうか? たとえば数値に変換できる文字は数値に変えちゃって、出来ない文字はエラーを返すとか やりたいことは セルに文字列が入っていて、その最初の文字が数字(1〜9)かどうか、判別したいのですが。 文字コードで調べるしかないかな? ご存知の方お願いいたします。
>>967 あるよ
>>6 > = FAQ: 基本 =
> Q1:こんな関数ありませんか?
>>967 A1を検査する場合。2文字目以降は無視でよいなら
=IF(ISNUMBER(VALUE(LEFT(A1,1))),VALUE(LEFT(A1,1)),"")
970 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 14:08:36
971 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 14:35:42
2げっと
3ゲッチュー
4ゲッチュウ! みんな早く次スレに行きたくてしょうがないんだなぁ・・・。
張り切ってるのはテンプレ貼りたくてしょうがなかった基地外だけだろ
確かに良くできたテンプレだな。 でも初心者にコレ全部読めってのも無理があるかも。
976 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 17:30:15
これでチョットでも、決め事から外れたら 「テンプレ嫁」なんていうレスつけて、 殺伐とした空気をかもし出してくれることだろう
早速、新スレに書き込みが行われてるぞ。 早くこのスレを消化させないとっ!
よし俺も手伝おう
979 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 18:03:10
初心者の俺に面白マクロのコード教えて
>>978 じゃあ俺も
☆聞かれてもいないのに勝手に答えるコーナー☆
Excelで最初から用意されてる色は限られてるので
自分で好きな色を作ろう!
ツール → オプション → 色
"標準の色"の中で上書きしたい色を選択 → 変更
"標準"もしくは"ユーザー設定"の中で好きな色を選択 → OK
俺は薄いピンクを好んで使ってる♪
>>979 Excel97限定の隠しコマンドで良かったら。
(有名だから知ってるかも?)
[F5]を押して、[ジャンプ]ダイアログボックスを開く。
[参照先]欄に「X97:L97」とタイプし、[OK]ボタンをクリック。
L97からX97までのセルが選択状態になり、
アクティブセルの位置がL97であることを確認したら、
[Tab]を押して、アクティブセルの位置をM97に移動する。
[Ctrl]+[Shift]を押しながら、
[標準]ツールバーの[グラフ ウィザード]ボタンをクリックする。
画面がフルスクリーンモードに切り替わり、
3Dポリゴンの風景が登場!
[Esc]を押せば終了できる。
Excel2002で似たような裏技があったら誰か教えて!
982 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 18:21:50
自分好みのカラーパレットを保存することってできますか?
983 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 18:29:49
左上の全セルを選択するボタンをクリックしてセルの結合 フォントを太文字サイズ409にして「ぬ」と入力する
>>982 私は自分好みのブックを作って"白紙.xls"という名前で保存してます。
オリジナルカラーパレットは、ブックに保存されるので
"白紙.xls"を開けば すぐ使えます。
パレットに限らず、改ページプレビューの倍率を100%に固定とか(標準は60%)
余白を上下左右1cmに統一 なんてのも"白紙.xls"に保存してます。
Excelで新しく書類を作成するときは必ず"白紙.xls"をベースにしてます。
そうすれば最初から自分の好みの書式で始められるからね。
かなり便利よ〜♪
985 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 18:36:41
まるほど、カラーパレットを簡単に変更するマクロ作ってくれる人いないかな
986 :
名無しさん@そうだ選挙にいこう :2006/07/14(金) 19:31:25
白紙.xlsいただきます
つxlt
テンプレートって使いづらくね?
989 :
名無しさん@そうだ選挙にいこう :2006/07/15(土) 08:35:11
テンプレート? 何の?
>>989 拡張子.xltのこと。ヘルプで調べれ。
ちなみに役に立たない(俺的には)
でも.xlwは役に立つ。
991 :
名無しさん@そうだ選挙にいこう :2006/07/15(土) 11:56:13
1000ゲットする前に何かすごい裏技を書き込んでよ
>>991 =1-1/3-1/3-1/3
=(1-1/3-1/3-1/3)
=IF(A1=A2,"同じに決まっている","なんで・・・")
>>982 ,985
設定保存
Open "設定ファイルパス" For Output As #1
Print #1, Join(ActiveWorkbook.Colors, vbCrLf)
Close #1
設定読込
Open "設定ファイルパス" For Input As #1
ActiveWorkbook.Colors = Split(Input(LOF(1), #1), vbCrLf)
Close #1
ちなみに俺はユーザーフォーム使って、入出力ファイルを選択したり、リセットしたり
設定を適用する前に選択した設定ファイルのプレビューを表示したり出来るようにしてる。
まあ、その辺は必要なら自分で作ってくれ。テキスト形式ではなくバイナリ形式で配列を保存してもいいし。
>>984 も含めてテンプレート方式は基本的に新規作成のときしか使えないからな。
まあ、設定をブックに保存して
ActiveWorkbook.Colors = CreateObject("Excel.Application").Workbooks.Open("ブックパス").Colors
なんて方法もあるけど、処理は遅いし、色設定保存するだけなのに、
全ての情報を保持するブックをそのまま使うってのもなぁ。
>>990 俺にとってはxlwの方が無用だな。
>>991 上記マクロじゃ不足かな?
まあ、すごい裏技って程じゃないけど、982,985に対してこういう手法が挙がらなかったってことは
皆こういう手法を知らないってことでしょ。
995 :
名無しさん@そうだ選挙にいこう :2006/07/15(土) 13:20:19
>>992 何でこうなるのか誰か説明してください。
>>981 試したけどスゲーぞ。
面白くは無いがこういった遊び心があるマイクロソフトに惚れた。
997 :
名無しさん@そうだ選挙にいこう :2006/07/15(土) 14:05:45
>992のたぐいは昔からある計算精度の誤差問題だね
998 :
名無しさん@そうだ選挙にいこう :2006/07/15(土) 14:37:19
Excel最強の裏技、それはVBAを使いこなすことだ。 信じられねーようなことが出来るようになる。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。