この人頭いいなと思ったエピソード

EXCELのにて連続したデータを入力したデータベースがあります。(行が5000、列がAAまで)
このデータベースのデータの最終行だけを指定して違うシートにコピー・貼り付けがしたいのです。
マクロにてこのような作業をするときにはどういった文をかけばよいですか。

A 回答 (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
となります。これを参考にして少し手直ししてください。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。なんとかできそうです。

お礼日時:2003/11/21 07:35

何処に貼り付けるか書いていないので、勝手に「最終行の次」と解釈します。



例えば、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
    • good
    • 0
この回答へのお礼

どうもありがとうございました。なんとかできそうです。

お礼日時:2003/11/21 07:35

こんな感じでいかかでしょうか。



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

シート名とコピー位置は適宜変更して下さい。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。なんとかできそうです。

お礼日時:2003/11/21 07:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報