Excel - 前の列にデータがある場合にのみ、VBA で数式を入力します。

okwaves2024-01-25  10

私はここでは初めてなので申し訳ありません。たくさん検索しましたが、答えが見つからず、髪が失われています。 行のブロックに分割されたデータがあります。以下に例を示します。

グループ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 回だけ行ってください。

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。