[[20110513073632]] 『シート1にある行数分だけ貼り付けるマクロ』(ゼンゼン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シート1にある行数分だけ貼り付けるマクロ』(ゼンゼン)

環境:Excel2003、Windows Vista

はじめて質問させていただきます。
同一Book内にsheeet1、sheet2があります。
sheet1に貼り付けたデータを基に、sheet2に加工し、最終的にcsvファイルを
作成するというマクロを作成途中です。

流れとしては、sheet2の1行目に関数等を入れて
それを50行目程度まで貼り付けて、
その後値貼り付けをして、csv保存を行っています。

sheet1に貼り付ける基のデータの行数が毎回違うので
sheet2の1行目の関数等を、sheet1にデータが入っている行数分だけ
sheet2の2行目以降に貼り付けたいのですが、そのようなマクロの作り方を
教えていただけないでしょうか。

よろしくお願いします。


 シート上の使用領域の最終行を求めるやり方は、もう、いろいろあるけど
 説明から想像すると、以下でもよさそうなので。
 とりあえず、サンプルとしてSheet2のA列にSheet1のA列の、同じ行を参照する式セット。

 Sub Sample()
    Dim mRow As Long

    mRow = Sheets("Sheet1").Range("A1").CurrentRegion.Rows.Count

    With Sheets("Sheet2")
        .Columns("A").ClearContents
        .Range("A1").Resize(mRow).Formula = "=Sheet1!A1"
    End With

 End Sub

 ぶらっと立ち寄り@最近、立ち寄りが多くなった

sheet2はsheet1を参照している関数で、sheet2の1行目をsheet1の行分だけオートフィルしたいということかな?
Sub test()
Dim las As Long

     las = Sheets("sheet1").Range("A" & Rows.Count).End(xlUp).Row
With Sheets("sheet2")
     .Range("A1").CurrentRegion.Offset(1).ClearContents
     .Range("1:1").Copy
     .Range("2:" & las).PasteSpecial xlFormulas
End With

End Sub


有難うございます。
希望通りの挙動で動くようになりました。(ゼンゼン)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.