私はここでは初めてなので申し訳ありません。たくさん検索しましたが、答えが見つからず、髪が失われています。
行のブロックに分割されたデータがあります。以下に例を示します。
グループ1
8月4日
サム
ボブ
ロージー
グループ 2
3月13日
カール
ジョン
列を挿入し、最初の列にデータがあるすべての場所にその列に数式を追加したいと考えています。コード ブロックの長さと配置はさまざまです。助けやヒントをいただければ幸いです。
これまでのところ、最初のブロックを埋めているだけです。
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B8").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(TRIM(RC[-1]),participants.xlsx!R2C1:R1000C4,3,FALSE)"
Range("B8").Select
Selection.AutoFill Destination:=Range(Range("B8"), Range("A8").End(xlDown).Offset(0, 1)) ```
なぜ列を挿入する必要があるのですか?
– SJR
2020 年 9 月 3 日 15:37
右側にも重要なデータがいくつかあります。
– ビリー218
2020 年 9 月 3 日 16:12
------------------------
領域をループすることができます (このコードでは、セルに数式が含まれていないことを前提としています)。
Sub x()
Dim r As Range
For Each r In Columns(1).SpecialCells(xlCellTypeConstants).Areas
r.Offset(, 1).Insert shift:=xlToRight
r.Offset(, 1).Formula = "=row()+1"
Next r
End Sub
最初のデータはオレンジ色で、コードによって緑色が追加されます。
列を挿入するために編集されました。コラムだけでもいいですニーズを満たす場合は、最初に 1 回だけ行ってください。