- 締切済み
同一Bookに存在する複数sheetの一定範囲を縦列でコピー
各先生方 お世話になります。 同一Book(○○月分集計.xls)内にシート名 ”集計” ”Aさん、Bさん、Cさん、Dさん、Eさん、Fさん・・・” が存在しております。 ※アルファベットのシート(人名)は月毎に数量が変動致します。 存在する複数のシートの内、”集計”以外のシートの一定範囲セルを”集計”シートのB3セルから「縦列」にコピーしたく望んでおります。 コピー元の対象範囲は各シート共通で、CB2セル~CJ131セル(列:9列分、行:130行分)です。 コピー元シートのコピーの順序は一切、制約をもちませんが、”集計”シート以外の全てのシートから範囲セルのコピーを行うことを条件としております。 (順序がB、C、E、D、A・・・ A、C、B、E、D・・・ のように都度ランダムに変更されても構いません) お手間を取らせて申し訳ございませんが、どの様なコードの記述にて可能となるのか、ご教授いただきたく宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- NOBNNN
- ベストアンサー率50% (93/186)
回答No.1
ネットで調べてから自分でまずは作ってみてならわかりますが 全部、作ってくださいは質問ではありません。 VBAを少しでも学んでわからないならともかく・・・ まずはツール/マクロ/新しいマクロの記録 で範囲選択してコピーまでの一連の作業を記録して できたマクロのVBAのプログラムを研究してからにしてください。 以上
補足
NOBNNN 様 仰るとおり、新しいマクロの記録で範囲選択→コピーまでの一連作業を行った上で質問をしたのですが、内容を記載しなかったため、誤解を与えてしまいました。 大変申し訳ございませんでした。 質問前に”Aさん”のシートにて記録を行い、マクロを実行致しましたが、初歩的な程度においても「実行時エラー '1004': rangeクラスのselectメソッドが失敗しました」で止まってしまいます。 記録から得られたコードと、このエラーをググってマクロの先頭に「Selection.Select」を付け足すような記載もありましたので、以下のコードで実行してみましたが、変わりませんでした。 Private Sub CommandButton1_Click() Selection.Select Sheets("Aさん").Select Range("CB2:CJ131").Select Selection.Copy Sheets("集計").Select Range("B3").Select ActiveSheet.Paste End Sub