こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

本で調べてもインターネットでも、
ExcelのMicrosoft Visual Basicで下記の内容の処理がわかりません。
困ってます。

わかる方、教えてください。よろしくお願いします。

<内容>
“あああ.xls” [sheet1]にデータがあれば、“かかか.xls” [sheet1]にデータの値をコピーする。
なければ、「データがありません」とメッセージボックスをだしてキャンセル。

投稿日時 - 2005-05-23 18:11:52

QNo.1405362

すぐに回答ほしいです

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

下記でご希望の動作をするかと思います。
なお、双方のシートが開いていないとエラーになりますので、細かな仕様は自身で改造して調整してください。

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

投稿日時 - 2005-05-23 19:00:44

お礼

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

投稿日時 - 2005-05-23 21:38:35

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

はじめまして。

内容は分かるのですが、処理を分けるのと
もう少し詳細が分かればお答え出来るかと
思います。

>“あああ.xls” [sheet1]にデータがあれば・・
対象のデータは1つのセル内なのか、
シート全体なのか、空白シートでない事を
示すのか・・。
意味が広すぎます。

>“かかか.xls” [sheet1]にデータの・・
閉じているブックですか、既に開いてるブックですか?

>データがあれば・・
何と比べるのですか?

投稿日時 - 2005-05-23 18:39:33

あなたにオススメの質問