No.4
- 回答日時:
こんにちは。
コードのプロセスが少し違っているようです。
>そのBを開いてない場合に実行してしまってもエラーにならないように
はよろしいのですが、次に、開いていない場合は、ブックを開くようにすればよいのです。
ただし、両方、開いていない場合は予想していません。
Workbooks(2)Activate は不要です。
'-------------------------------------------
Sub DataCopy()
Const BK1_Name As String = "B.XLS" 'ブック名
Dim Bk1 As Workbook
Dim Bk2 As Workbook
Set Bk2 = ThisWorkbook '自ブック
On Error GoTo ErrHandler
Set Bk1 = Workbooks(BK1_Name)
With Bk1
.Worksheets(1).Range("A1").Copy Bk2.Worksheets(1).Range("A1")
End With
Exit Sub
ErrHandler:
If Err.Number = 9 Then
Err.Clear
Workbooks.Open BK1_Name
'エラーの無限ループを防ぐ
If Err.Number <> 0 Then Exit Sub
Resume
End If
End Sub
お礼遅れまして申し訳ございません^^;
回答ありがとうございます。
当方マクロに関して初心者であるため、複雑なコードは意味までは
とても理解できませんでしたが、今後マクロを習得していく上で参考になりました^^
No.3
- 回答日時:
dim wb as workbook
dim umu as boolean
for each wb in workbooks
if wb.name="B" then
umu=true
end if
next
if umu then
MsgBox "開いています"
else
MsgBox "開いていません"
end if
For each Next ですべての開いているworkbookを参照できます。
お礼遅れまして申し訳ございません^^;
回答ありがとうございます。
当方の意図としては、開いていない場合は
何も起こらない状態を想定していましたが
メッセージボックスを使うというのは、とても参考になりました^^
No.2
- 回答日時:
エラーの発生で判断すればどうかな
On Error Resume Next
Set myBook = Workbooks("Bブック.xls")
If Err Then
MsgBox "開いていません"
Else
MsgBox "開いています"
End If
On Error GoTo 0
>ちなみにBを開いた場合は
>Workbooks(2).Activate
上記のコードで判定後なら
myBook.Activate
お礼遅れまして申し訳ございません^^;
回答ありがとうございます。
当方の意図としては、開いていない場合は
何も起こらない状態を想定していましたが
メッセージボックスを使うというのは、とても参考になりました^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
Accessでフォームに自動入力し...
-
【Access】Dcount関数の複数条...
-
アクセスクエリで教えて下さい...
-
Access VBA [リモートサーバー...
-
ACCESS VBA でのエラー解決の根...
-
Access VBA を利用して、フォル...
-
Access IF文でテーブルに存在し...
-
Access Error3061 パラメータが...
-
Accessのクエリで、replace関数...
-
Accessで作ったデータベースをw...
-
CSVファイルの「0落ち」にVBA
-
accessでlaccdbファイルが削除...
-
accessデータを指定したExcel、...
-
Access で半角スペースと全角ス...
-
Accessのスプレッドシートエク...
-
accessの代わりになるもの
-
日付のテキストボックスに(例...
-
accessのフォームに設置したボ...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
ACCESS VBA でのエラー解決の根...
-
Accessのスプレッドシートエク...
-
Access VBA を利用して、フォル...
-
【Access】Dcount関数の複数条...
-
accessデータを指定したExcel、...
-
Accessレポートのチェックボッ...
-
Access VBA [リモートサーバー...
-
Vba Userformを前面に出すについて
-
Accessのリンクテーブルのパス...
-
実行時エラー3131 FROM 句の構...
-
Accessのフォーム上のテキスト...
-
CSVファイルの「0落ち」にVBA
-
Access 複数条件検索の設定が上...
-
アクセス 削除するレコードを含...
-
Access で半角スペースと全角ス...
-
access 更新クエリについて
-
Accessのクエリの結果を、既存...
おすすめ情報