dポイントプレゼントキャンペーン実施中!

任意のセルを選択している状態で、マクロの実行をすると左上から下へ、一番したへ来たら次の行の一番上から通し番号を入れるというマクロを作りたいのですが、どのようなコードを書けば良いのでしょうか?

A 回答 (4件)

矩形範囲なら、以下でよろしいかと



Sub macro()
Dim X As Long, Y As Long, I As Integer
For Y = 1 To Selection.Columns.Count
For X = 1 To Selection.Rows.Count
I = I + 1
Selection.Cells(X, Y).Value = I
Next X
Next Y
End Sub
    • good
    • 0

まぁ1ずつ足しこんでっても大した手間じゃありませんが、折角なのでエクセルの機能でやらせてみると



sub macro1()
 with selection
 .cells(1) = 1
 .columns(1).dataseries rowcol:=xlcolumns, type:=xllinear, step:=1, trend:=false
 .dataseries rowcol:=xlrows, type:=xllinear, step:=.rows.count, trend:=false
 end with
end sub
ぐらいで。
    • good
    • 0

 For~Nextの様な繰り返し処理を使う事無く、通し番号の入力を一括して済ませる方法です。




Sub Macro()

  Selection.FormulaR1C1 = _
    "=ROW()-" & Selection.Row & "+(COLUMN()-" & Selection.Column & ")*" & _
     Selection.Rows.Count & "+1"
  Selection.Value = Selection.Value

End Sub
    • good
    • 0

マクロを作らなくてもできますが・・・添付画像を参照してください。

「Excelマクロ:選択したセルに通し番号」の回答画像2
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!