• 締切済み

VBA:各ページの先頭セルを選択するコマンドを教えてください

VBA:各ページの先頭セルを選択するコマンドを教えてください --Page 1------ A列 | B列 1 | 4 2 | 5 3 | 6 --Page 2------ 7 | 11 8 | 12 9 | 13 10 | 14 --Page 3------ ... 元は印刷用に作ったこのような表があります。A列だけにして、数字順にずらっと並べ替えたいと思っています。 各ページの行数はバラバラで、規則性がありません。実際に入力されているデータは連番ではなく任意の文字列(ページごとにタイトルなどもなく規則性もありません)です。 作ろうとしているマクロは、各ページの末尾にそのページで使われている行数分だけ行挿入→そのページのB列をカット&ペーストでA列のお尻に付けるというものです。 各ページの先頭セル/末尾セルを指定するコマンドがわかれば実現できると思うのですが調べても見つけられませんでした。 (ページ関連となると印刷系ばかりで、、) 恐れ入りますが、お教えいただけますでしょうか。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

>作ろうとしているマクロは、各ページの末尾にそのページで使われている行数分だけ行挿入→そのページのB列をカット&ペーストでA列のお尻に付けるというものです。 ページとはシートのことですよね。 だいぶ手抜きですが、 Sub ボタン1_Click() For i = 1 To Worksheets.Count Worksheets(i).Range("B2:B1000").Copy Worksheets(i).Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Next i End Sub Worksheets(i).Range("B2:B1000").Copy は 一枚のシートに最大1000行までデータがあるとしてです。 各シートの末尾の行がわからなくてもたっぷりとコピィして、 貼り付けてしまえば、これで十分かと思います。

qoozy
質問者

補足

ご回答ありがとうございます! 質問の仕方が稚拙で申し訳ございません。 ページとはシートではなく、改ページのことでした。 知人に調べていただいたところ 改ページが挿入されているセルは ActiveSheet.HPageBreaksでHPageBreaksコレクションを取得 HpageBreaksのLocation.Addressプロパティで取得できるかも ということでした。今時間がないのですが、後で試してみます。 とは言えVBA初級に至っていないレベルなのでできるか謎ですが、、 ご回答ありがとうございました!

関連するQ&A