- ベストアンサー
Excel2003で列を別シートに追加してコピーする方法
- Excel2003で列を別シートに追加し、コピーする方法についてアドバイスをお願いします。
- エクセルデータを自動的にシートに分けてコピーする方法についてアドバイスをお願いします。
- 手作業では大変なエクセルデータの列分割を自動化する方法について教えてください。
- みんなの回答 (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
その他の回答 (1)
- sumer45
- ベストアンサー率17% (52/294)
言ってる事がイマイチよくわかりません VBAで対応する場合 規則性を探します シートすべてをコピーして そこから不要なColumn番号を指定して削除するという方法もあります その場合 削除するColumn番号にどのような規則があるか という事になります シートは左から数えて1,2,3ですから これに関連性を持たせることができるなら For Each~ でループ処理をすればいいのです
お礼
アドバイスありがとうございます。 列をコピーして、、、と考えていましたが、 おっしゃるとおり、シートごとコピーして 不要な分を削除すればいいですね! 検証してみたいと思います。 ありがとうございます。
お礼
ありがとうございます。 勉強になります。 お忙しい中、ありがとうございます。