
閉じている別のブックへ転記したいと考えています。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
VBA コードを実行すると画面が...
-
マクロのBeforeCloseイベントに...
-
ワイルドカード「*」を使うとう...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
VBAで別のブックにシートをコピ...
-
【Excel VBA】書き込み先ブック...
-
VBAで複数のブックを開かずに処...
-
VBA 実行時エラー 2147024893
-
【ExcelVBA】zip圧縮されたCSV...
-
VB.NETについて
-
Excelブックがアクティブになっ...
-
別ブックをダイアログボックス...
-
Excel2007VBAファイルの表示に...
-
サーバーに保存したエクセルフ...
-
任意のブックを開き、任意のシ...
-
VBAで別ブックのシートを指定し...
-
Dir関数で複数ブックへ行いたい...
-
教えて下さい!VBAで複数Excel...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
VBA コードを実行すると画面が...
-
ワイルドカード「*」を使うとう...
-
VBAで別ブックのシートを指定し...
-
オブジェクトは、このプロパテ...
-
VBAで別のブックにシートをコピ...
-
Excelマクロ 該当する値の行番...
-
【Excel VBA】書き込み先ブック...
-
複数のエクセルファイルとシー...
-
【ExcelVBA】zip圧縮されたCSV...
-
【ExcelVBA】インデックスが有...
-
VBA シート名が一致した場合の...
-
2つ目のコンボボックスが動作...
-
Excel マクロ ファイルと同じシ...
-
【VBA】全シートの計算式を全て...
-
[Excel]ADODBでNull変換されて...
-
Excel2007VBAファイルの表示に...
おすすめ情報
回答ありがとうございます。
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
この状態で実行したのですが、転記されませんでした。
転記のコード、おかしいんですかね?