• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2003にて列を別シートを追加し、コピーするには?)

Excel2003で列を別シートに追加してコピーする方法

このQ&Aのポイント
  • Excel2003で列を別シートに追加し、コピーする方法についてアドバイスをお願いします。
  • エクセルデータを自動的にシートに分けてコピーする方法についてアドバイスをお願いします。
  • 手作業では大変なエクセルデータの列分割を自動化する方法について教えてください。

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

  • ベストアンサー
  • qyukip
  • ベストアンサー率40% (13/32)
回答No.2

やりたいことができているかはわかりませんが、列ごとにシートを分けるマクロを作ってみました。 これはタイトル行があると仮定してシート名にタイトルを使用しています。 Const TITL_ROW As Integer = 1 'タイトル行 Private Sub CommandButton1_Click() Dim WSName As String '追加するワークシート名 Dim NOWSHeet As String '現在のシート名 Dim i As Integer NOWSHeet = ActiveSheet.Name '現在のシート名取得 WSName = "シート名" For i = 1 To Worksheets(NOWSHeet).Cells().SpecialCells(xlCellTypeLastCell).Column Worksheets.Add Before:=Worksheets(NOWSHeet) '新規シートの追加 WSName = Cells(TITL_ROW, i).Value 'タイトルをシート名にする ActiveSheet.Name = WSName 'シート名変更 Worksheets(NOWSHeet).Range(Cells(1, i), Cells(1, i)).EntireColumn.Copy '列をコピー Worksheets(WSName).PasteSpecial '貼り付け Next End Sub

dgn6
質問者

お礼

ありがとうございます。 勉強になります。 お忙しい中、ありがとうございます。

その他の回答 (1)

  • sumer45
  • ベストアンサー率17% (52/294)
回答No.1

言ってる事がイマイチよくわかりません VBAで対応する場合 規則性を探します シートすべてをコピーして そこから不要なColumn番号を指定して削除するという方法もあります その場合 削除するColumn番号にどのような規則があるか という事になります シートは左から数えて1,2,3ですから これに関連性を持たせることができるなら For Each~ でループ処理をすればいいのです

dgn6
質問者

お礼

アドバイスありがとうございます。 列をコピーして、、、と考えていましたが、 おっしゃるとおり、シートごとコピーして 不要な分を削除すればいいですね! 検証してみたいと思います。 ありがとうございます。

関連するQ&A