Excelのこととか色々

マクロをどんな Excel ファイルにも実行できるように設定して、3秒かかる操作も1秒で完了。あといろいろ書いてみます・・・

【VBAスタンダードに挑戦!】検索結果の操作(Range/Resize)

【VBAスタンダードに挑戦!】

f:id:tuna-kichi:20200614200940p:plain

 

本日の5分勉強の内容

 

 

********************************************************

Find で指定のデータが見つかった後にできる操作の一例です。

 f:id:tuna-kichi:20200814132053p:plain

Range

Range(左上セル, 右下セル)

Dim IDR As Range 'ID列の Range

 'この行を実行すると IDR に Range("A8") の情報も格納される
 Set IDR=Columns(1).Find(What:="R") 

 'その行の 列A ~ C をコピーして、セルE2にコピーする
 Range(IDR, Range("C8")).Copy Range("E2")

 

 

                      

Resize

セル番地. Resize(行数, 列数)

セル番地は起点となるセル

Resize の引数の行数、列数は起点セルを含めての行/列数を指定する

 

Dim IDR As Long 'ID列の Row
Dim 
LastC As Long '表の最終列を表す

 '列Aから「R」を探してセル番地を取得する
 Set IDR =Columns(1).Find(What:="R"). Row

 

 '一行目の最終列を取得する
 LastC = Cells(1, Columns. Count). End(xlToLeft). Column

 

 'Find で取得した行番号を利用して、Resize でコピーする範囲を指定する
 Range(IDR,  Resize(1, LastC). Copy Range("E2")

 

                      

 

 

Find でセル番地を取得できることは初めて知りました。

なかなか便利そうです。

 

Resize もいままで良く分からなかったので、避けてきましたが、

Offset と同じように使用できそうですね。

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

にほんブログ村 子育てブログ 幼稚園児育児へ にほんブログ村 英語ブログ 初心者英語へ にほんブログ村 IT技術ブログ VBAへ
PVアクセスランキング にほんブログ村 Excelのこととか色々 - にほんブログ村

==================================

  Graspyで無料プログラミング講座を受講する