• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでsheetのコピー)

VBAでsheetのコピー

このQ&Aのポイント
  • VBAを使用してExcelのシートをコピーする方法について教えてください。
  • マクロを使用して、複数のシートを一つのファイルにコピーする方法について教えてください。
  • VBA初心者向けのシートコピーのマクロについて教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

>一点変更しました。  : >エラーになるので、=だけにしました それでは全然ダメです。一体何をミスったのか不明ですが,少なくともそこは元に戻さないといけません。 で。 ご質問での説明が間違っていますが,コピーしたいのは各シートA4からAF62ということですね。 集約したシートのシート名とブック名を固定にしたいのが今回ヤリタイコトという事ですね。 前のマクロは捨てて,次のマクロにします。 sub macro2()  dim i as long  dim n as long  n = 63  worksheets(1).copy before:=worksheets(1)  for i = 3 to worksheets.count   worksheets(i).range("A4:AF62").copy destination:=worksheets(1).cells(n, "A")   n = n + 59  next i  worksheets(1).move  activesheet.name = "固定"  activeworkbook.saveas filename:="Book2.xlsx", fileformat:=xlopenxmlworkbook end sub

19560816
質問者

お礼

皆様、ご助言有御座います。別の方法で解決出来ました。本当に有難う御座います。

その他の回答 (2)

回答No.2

.Range("A4:AF" & .Range("A65536").End(xlUp).Row).Copy Destination = s.Range("A65536").End(xlUp).Offset(1) ここがキモです!、おかしな改行はご法度!! 一行で書くか、以下のように「_」で継続させる。 'ここにセル範囲の最大を設定(仮に4行目(列:A~AF列)から最大行の範囲をコピーしている) .Range("A4 : AF" & .Range("A65536").End(xlUp).Row).Copy _ Destination:= s.Range("A65536").End(xlUp).Offset(1) ぅう~ん?、こういうのは判り難いね!? 一体どんな名前で出力されるの?、やり直すとどうなる?? いつの間にか「Book15」がデケても~た!!

回答No.1

前回のQ&Aは?