Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4906 / 13644 ツリー ←次へ | 前へ→

【53679】必要な項目列の取り込みについて やぎおか 08/1/31(木) 9:45 質問[未読]
【53680】Re:必要な項目列の取り込みについて Jaka 08/1/31(木) 10:57 発言[未読]
【53681】Re:必要な項目列の取り込みについて ponpon 08/1/31(木) 13:16 発言[未読]

【53679】必要な項目列の取り込みについて
質問  やぎおか  - 08/1/31(木) 9:45 -

引用なし
パスワード
   質問です。

複数のファイルから必要な項目を一つのファイルにコピー&ペーストしたいのですが、
例えばセルのB1に「今日の天気」という項目があって、B2〜B99に「晴れ」や「曇り」など入力している場合、以下の構文をどう書き直せばよいですか?
 *ファイルによっては、とりたい項目がCの列だったり、Dの列だったりします。
  現在の構文は指定した列を取り込むようになっています。

'天気のコピー
Windows(CopyFileName).Activate
Range("B2", "B" & copyEnd).Select
Selection.Copy
'天気のペースト
Windows(PasteFileName).Activate
Range(Sup_Code & nextCopyLine).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
'天気空白対応
If ActiveCell.Value = "" Then
Range(Sup_Code & nextCopyLine) = "空白"

よろしくお願いします。

【53680】Re:必要な項目列の取り込みについて
発言  Jaka  - 08/1/31(木) 10:57 -

引用なし
パスワード
   >例えばセルのB1に「今日の天気」という項目があって、
例えばが例えになってません。
ブック、シートがどれなのか全く解りません。

値の比較をする時は、ブック名.シート名.セル番号を明確に指定して分岐させれば良いです。
こんな感じで。

IF WorkBooks("ブック名").Sheets("シート名").Range("B1").value = "晴れ" or _
  WorkBooks("ブック名").Sheets("シート名").Range("B1").value = "曇り" Then

【53681】Re:必要な項目列の取り込みについて
発言  ponpon  - 08/1/31(木) 13:16 -

引用なし
パスワード
   >*ファイルによっては、とりたい項目がCの列だったり、Dの列だったりします。
>  現在の構文は指定した列を取り込むようになっています。
ということは、
ファイル名によって条件分岐をすることになると思います。
IF Aファイル Then AファイルのSheet1のC列をコピー
  ペーストしたいファイルのSheet1のどこのセルにペースト
If Bファイル Then BファイルのSheet1のD列をコピー
  ペーストしたいファイルのSheet1のどこのセルにペースト
・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・

Select Caseの方がいいかもしれません。

4906 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free