- ベストアンサー
「Excel」Microsoft Visual Basicで教えてください。
本で調べてもインターネットでも、 ExcelのMicrosoft Visual Basicで下記の内容の処理がわかりません。 困ってます。 わかる方、教えてください。よろしくお願いします。 <内容> “あああ.xls” [sheet1]にデータがあれば、“かかか.xls” [sheet1]にデータの値をコピーする。 なければ、「データがありません」とメッセージボックスをだしてキャンセル。
- みんなの回答 (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
その他の回答 (1)
- missile_man
- ベストアンサー率29% (25/84)
はじめまして。 内容は分かるのですが、処理を分けるのと もう少し詳細が分かればお答え出来るかと 思います。 >“あああ.xls” [sheet1]にデータがあれば・・ 対象のデータは1つのセル内なのか、 シート全体なのか、空白シートでない事を 示すのか・・。 意味が広すぎます。 >“かかか.xls” [sheet1]にデータの・・ 閉じているブックですか、既に開いてるブックですか? >データがあれば・・ 何と比べるのですか?
お礼
早速、回答ありがとうございます。 助かりました。