- ベストアンサー
EXCELのマクロにて
EXCELのにて連続したデータを入力したデータベースがあります。(行が5000、列がAAまで) このデータベースのデータの最終行だけを指定して違うシートにコピー・貼り付けがしたいのです。 マクロにてこのような作業をするときにはどういった文をかけばよいですか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロの記録を使いましょう。 (1)A列に少数の行にデータを入れる (2)ツール-マクロ-新しいマクロの記録を選ぶ-マクロ名をMacro1で良いとして-OK (3)A列にカーソルを置いて-ENDキー-↓キーを押す-すると一番下の65536行に行く-ENDキー-↑キーを押す-するとデータ最下行を指す-編集-コピー-他のシートのタブをクリック-編集-貼りつけ-マクロの記録終了 以上で Selection.End(xlDown).Select Selection.End(xlUp).Select Selection.Copy Sheets("Sheet2").Select ActiveSheet.Paste となります。これを参考にして少し手直ししてください。
その他の回答 (2)
- ja7awu
- ベストアンサー率62% (292/464)
何処に貼り付けるか書いていないので、勝手に「最終行の次」と解釈します。 例えば、Sheet1の最終行をSheet2の最終行の次へコピーする場合で、 双方のシートには、A列が空白でないデータがあることを条件とすれば、 こんな感じで如何でしょうか。 Sub LastRowCopy() Dim Rw As Long Rw = Worksheets("Sheet1").Range("A65536").End(xlUp).Row Worksheets("Sheet1").Rows(Rw).Copy Worksheets("Sheet2").Select Rw = Range("A65536").End(xlUp).Row Rows(Rw + 1).Select ActiveSheet.Paste Worksheets("Sheet1").Select Application.CutCopyMode = False End Sub
お礼
どうもありがとうございました。なんとかできそうです。
- moon00
- ベストアンサー率44% (315/712)
こんな感じでいかかでしょうか。 Sub Macro1() ' ' データの最終行をコピーして別シートにコピー Dim lastR As Integer Sheets("A").Select lastR = Range("A36635").End(xlUp).Row 'データの最終行番号を取得 Range(Cells(lastR, 1), Cells(lastR, 27)).Select Selection.Copy '最終行のA列からAA列までをコピー Sheets("B").Select 'シートBを選択 Range("a1").Select ActiveSheet.Paste Application.CutCopyMode = False 'a1に貼り付け End Sub シート名とコピー位置は適宜変更して下さい。
お礼
どうもありがとうございました。なんとかできそうです。
お礼
どうもありがとうございました。なんとかできそうです。