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に感謝します。

前の記事 次の記事

トップのヒント