プロが教える店舗&オフィスのセキュリティ対策術

記憶マクロしかできないのでお恥ずかしいのですが
式をコピーして貼り付ける際の最終行の取得の仕方について教えてください。

B2にVLOOKの式を入れて、この表ならB2:K7
に式を貼り付けたいです。

初めは、品番をB2:K7に全て貼り付けて、その上に式を重ねてから
Range(Selection, Selection.End(xlDown)).Select
にしていましたがもし品番が1つしかなかった場合は最終行が取得できずうまく動きませんでした。

 
Range("B2").Select
Selection.Copy
Range("B2:K2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
Range("B2:K7").Select
ActiveSheet.Paste
Application.CutCopyMode = False


どこかにRowをくっつけたらいいのでしょうか?
使い方もわからないので、どのようにしたらいいか教えて頂けると助かります。

「コピー貼り付け際の最終行取得について」の質問画像

A 回答 (2件)

B2:K7に名前をつけておいてその名前で参照すればいいのでは?

    • good
    • 0
この回答へのお礼

ありがとう

名前の参照だと範囲が変わった時が怖いので今回は辞めておきますが
思いつきませんでした!今後の参考にさせて頂きます。ありがとうございます。

お礼日時:2017/07/11 15:34

こんにちは!



B2セルには数式が入っているのですよね?
(絶対参照にされていて、B2セルの数式をフィル&コピーできる状態になっている!)

というコトであれば

Sub Sample1()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
Range(Cells(2, "B"), Cells(lastRow, "K")).Formula = Range("B2").Formula
End Sub

程度で大丈夫だと思います。m(_ _)m
    • good
    • 0
この回答へのお礼

助かりました

ひとつずつ意味を調べながらなんとなく内容把握しました。
VBAだとこんなにシンプルに仕上がるんですね!うまく稼動できました。
ありがとうございます。非常に助かりました。

お礼日時:2017/07/11 15:34

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