VBA 必要箇所をコピーして新規ファイルを保存 上記の通り処理をしたいのですが、途中までは上手くいくのですが、どうもコピーアンドペーストの範囲選択がわからず、お知恵をお借りしたいです。
VBA 必要箇所をコピーして新規ファイルを保存 上記の通り処理をしたいのですが、途中までは上手くいくのですが、どうもコピーアンドペーストの範囲選択がわからず、お知恵をお借りしたいです。 コピー範囲はA8から入力されている最終列、最終行までで張り付け先は新規ファイルのA1になります。よろしくお願い致します 'ファイル作成 Dim objWb As Workbook Dim filename As String Dim 最終行 As Variant Dim 最終列 As Variant '範囲選択の準備 最終行 = Cells(8, 1).End(xlDown).Row 最終列 = Cells(8, Columns.Count).End(xlToLeft).Column '本日日付の新規ブックを作成 Set objWb = Workbooks.Add CreateObject("WScript.Shell").CurrentDirectory = ThisWorkbook.Path filename = Format(Date, "yyyymmdd") & "_売上報告.xlsx" objWb.SaveAs (filename) '必要データコピー ※ブック指定未 Range(Cells(8, 5), Cells(最終行, 最終列)).Copy '新規ブックに必要データ貼り付け ※ブック指定未 Sheets(1).Activate Range("A1").PasteSpecial '関数で最終行取得 Range(Cell(8, 5), Cell(46, 最終行)).Select '範囲選択してコピー& ペースト(値のみ) End Sub
Visual Basic | Excel・124閲覧・25
ベストアンサー
こうでしょうか? Sub sample() 'ファイル作成 Dim objWb As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Dim filename As String Dim 最終行 As Variant Dim 最終列 As Variant Set ws1 = Sheets(1) '範囲選択の準備 最終行 = Cells(8, 1).End(xlDown).Row 最終列 = Cells(8, Columns.Count).End(xlToLeft).Column '本日日付の新規ブックを作成 Set objWb = Workbooks.Add CreateObject("WScript.Shell").CurrentDirectory = ThisWorkbook.Path filename = Format(Date, "yyyymmdd") & "_売上報告.xlsx" objWb.SaveAs (filename) Set ws2 = ActiveSheet '必要データコピー With ws1 .Range(.Cells(8, 5), .Cells(最終行, 最終列)).Copy End With '新規ブックに必要データ貼り付け ws2.Range("A1").PasteSpecial Paste:=xlPasteValues 'コピー選択解除 Application.CutCopyMode = False 'オブジェクト解放 Set ws1 = Nothing Set ws2 = Nothing Set objWb = Nothing End Sub
ありがとうございます。 こちら実行してみると438エラーになってしまいます。 set ws2=activesheetがエンペラー値となっています。 検索してみましたが直し方がわからないのでご教授いただけるとありがたいです。
質問者からのお礼コメント
スペースミスでした!ありがとうございました!
お礼日時:6/24 22:53