閉じている別のブックへ転記したいと考えています。
Private Sub CommandButton2_Click()
Dim wb1 As Workbook
Workbooks.Open ThisWorkbook.Path & "\集計.xlsm"
Set wb1 = ActiveWorkbook
wb1.Worksheets("Sheet1").Range("A1:C4") = _
ThisWorkbook.Worksheets("Sheet1").Range("A1:C4")
Application.DisplayAlerts = False
wb1.Saved = True
wb1.Close
Application.DisplayAlerts = True
End Sub
エラー等は表示されないのですが、転記がされず、集計.xlsmは空白のままです。
どこがダメなのか、お手数ですが、ご教示していただけないでしょうか?
No.4ベストアンサー
- 回答日時:
保存は No.1 の方法でOKです。
問題は、
> wb1.Worksheets("Sheet1").Range("A1:C4") = _
> ThisWorkbook.Worksheets("Sheet1").Range("A1:C4")
値だけのコピーなら No.3さんの方法で。
書式などもコピーしたければ
ThisWorkbook.Worksheets("Sheet1").Range("A1:C4").Copy wb1.Worksheets("Sheet1").Range("A1")
とか。
No.3
- 回答日時:
こんばんは!
複数セルに値を代入する場合
>wb1.Worksheets("Sheet1").Range("A1:C4") = _
>ThisWorkbook.Worksheets("Sheet1").Range("A1:C4")
を
> wb1.Worksheets("Sheet1").Range("A1:C4").Value = _
>ThisWorkbook.Worksheets("Sheet1").Range("A1:C4").Value
のように丁寧にRangeオブジェクトのプロパティまで指定する必要があると思います。m(_ _)m
No.2
- 回答日時:
・ブックを閉じる
全ての引数を省略
Workbook.Close
とだけ指定した場合は、ブックに変更が無ければそのまま閉じられ、
ブックに変更がある場合は、保存確認のメッセージが表示されます。
ただし、
Application.DisplayAlerts = False
これが指定されている場合は、確認のメッセージが表示されずに保存されます。
No.1
- 回答日時:
> wb1.Saved = True ' (1)
これは ワークブックに「変更はなかった」ことにするものです。
というか、「変更はすでに全て保存された」ということです。
よって
> wb1.Close
でも、変更がないので保存されません。
(1) を
wb1.Save
に変更してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) ワイルドカード「*」を使うとうまくいかないマクロの添削をお願いします 3 2022/03/26 09:39
- Visual Basic(VBA) EXCELのセル相互同期用のVBAでの不具合 3 2022/08/10 11:44
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA 複数のエクセルから一つの...
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
vbaでvbaProjectのパスワード解...
-
(マクロ)データをAブックからB...
-
VBAで別のブックにシートをコピ...
-
VBA 別ブックからコピペしたい...
-
フォルダ内の全てのファイルに...
-
VBAで複数のブックを開かずに処...
-
VBA シート名が一致した場合の...
-
VBS Bookを閉じるコード
-
VBAで別ブックのシートを指定し...
-
複数のエクセルブックをひとつ...
-
【VBA】全シートの計算式を全て...
-
【ExcelVBA】zip圧縮されたCSV...
-
エクセルマクロで、他ブックか...
-
2つ目のコンボボックスが動作...
-
VBA 実行時エラー 2147024893
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBS Bookを閉じるコード
-
【ExcelVBA】インデックスが有...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】zip圧縮されたCSV...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
ExcelのVBAです。フォルダ内の...
-
vbaで他のブックに転記したい。...
-
フォルダ内の全てのファイルに...
-
VBAで複数のブックを開かずに処...
-
VBSでExcelのオープン確認
-
VBA 実行時エラー 2147024893
-
【Excel VBA】書き込み先ブック...
-
VBA シート名が一致した場合の...
おすすめ情報
回答ありがとうございます。
wb1.Saveと変更してもできませんでした。
Private Sub CommandButton2_Click()
Dim wb1 As Workbook
Workbooks.Open ThisWorkbook.Path & "\集計.xlsm"
Set wb1 = ActiveWorkbook
wb1.Worksheets("Sheet1").Range("A1:C4") = _
ThisWorkbook.Worksheets("Sheet1").Range("A1:C4")
End Sub
この状態で実行したのですが、転記されませんでした。
転記のコード、おかしいんですかね?