Excel - 範囲を設定して自動入力するマクロ
問題
Excel用のマクロを記録しました。コードの一部は、列Bのデータに基づいて、セルに行数(つまり、A2 = 1、A3 = 2など)を埋め込むインデックス列を作成することです。
- マクロは完全に記録され動作していましたが、他のファイルで使用しようとすると、各ファイルに同じ数の行が入っていないため、マクロで問題が発生します。
- データの行数に関係なく、開いているExcelファイルに合わせて次のコードを変更する方法を教えてください。
列( "A:A")選択を選択します。挿入シフト:= xlToRight、CopyOrigin:= xlFormatFromLeftOrAbove範囲( "A1")を選択します。ActiveCell.FormulaR1C1 = "インデックス"列( "B:B")を選択します。列( "A:A")選択Selection.PasteSpecial貼り付け:= xlPasteFormats、操作:= xlNone、_ SkipBlanks:= False、転置:= False Application.CutCopyMode = False範囲( "A2")ActiveCell.FormulaR1C1 =を選択します。 "1"範囲( "A3")ActiveCell.FormulaR1C1 = "2"範囲( "A2:A3")を選択します。選択範囲を選択します。自動フィル宛先:=範囲( "A2:A295324")範囲( "A2:A295324")選択する
溶液
次のコードを試してください。
Sub test()Dim lRow Columns( "A:A")。選択を選択します。挿入Shift:= xlToRight範囲( "A1")値= "インデックス"範囲( "A2")値= 1範囲( "値= 2の範囲( "A2:A3")。l行=範囲( "B"&Rows.Count)を選択します。終了(xlUp)。行選択.AutoFill行き先:= Range( "A2:A"& lRow)エンドサブ
この助言をくれたTrowaDに感謝します。