【VBAスタンダードに挑戦!】
本日の5分勉強の内容
********************************************************
Find で指定のデータが見つかった後にできる操作の一例です。
Copy
Dim r As Long 'ID の列から "R" を探して行番号を取得する
r = Columns(1).Find(What:="R").Row
'その行の 列A ~ C をコピーして、セルE2にコピーする
Range(Cells(r, 1), Cells(r, 3)).Copy Range("E2")
Delete
'ID の列から "R" を探して行全体を削除する
Columns(1).Find(What:="R").EntireRow.Delete
Offset
'ID の列から "R" を探して、その右となりのセルの値を表示する
MsgBox Columns(1).Find(what:="R").Offset(0, 1)
私が過去に使った方法
Dim FirstRow As Long
Dim i As Long
FirstRow = Columns(1).Find("ID").Offset(1).Row
LastR = Cells(Rows.Count, 1).End(xlUp).Row
For i = FirstRow To LastR
処理
Next i
テンプレートを使って複数のシートが作成され、
どのシートでも同じ表がありました。
項目名と項目名が記載されている列番号は変わらないのですが、
シートによって行の位置が違いました。
表の中身だけ操作したかったので、項目名を探して
その下の行を先頭行と定義して、ループに設定しました。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/