• ベストアンサー

「Excel」Microsoft Visual Basicで教えてください。

本で調べてもインターネットでも、 ExcelのMicrosoft Visual Basicで下記の内容の処理がわかりません。 困ってます。 わかる方、教えてください。よろしくお願いします。 <内容> “あああ.xls” [sheet1]にデータがあれば、“かかか.xls” [sheet1]にデータの値をコピーする。 なければ、「データがありません」とメッセージボックスをだしてキャンセル。

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

下記でご希望の動作をするかと思います。 なお、双方のシートが開いていないとエラーになりますので、細かな仕様は自身で改造して調整してください。 Sub ううう() Dim Flg As Boolean Dim c As Variant For Each c In Workbooks("あああ.xls").Sheets("sheet1").UsedRange If c.Value <> "" Then Flg = True Exit For End If Next If Flg Then Workbooks("あああ.xls").Sheets("sheet1").Cells.Copy Workbooks("かかか.xls").Sheets("sheet1").Cells.PasteSpecial Else MsgBox "データがありません" End If End Sub

mirai3460
質問者

お礼

早速、回答ありがとうございます。 助かりました。

その他の回答 (1)

回答No.1

はじめまして。 内容は分かるのですが、処理を分けるのと もう少し詳細が分かればお答え出来るかと 思います。 >“あああ.xls” [sheet1]にデータがあれば・・ 対象のデータは1つのセル内なのか、 シート全体なのか、空白シートでない事を 示すのか・・。 意味が広すぎます。 >“かかか.xls” [sheet1]にデータの・・ 閉じているブックですか、既に開いてるブックですか? >データがあれば・・ 何と比べるのですか?

関連するQ&A