• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで連番をマクロで)

エクセルで連番をマクロで

このQ&Aのポイント
  • Windows7、エクセル2010でB3から仮にB100まで文字列があるとします。この状態でA3からA100まで1から始まる連番をマクロで実行したい。
  • B列のデータの最終行が不定であり、B列にデータがなくなるまでA列に連番をつけたい。現在は手動で連番を入力しているが、マクロで自動化したい。
  • 連番をつける作業が頻繁にあるため、マクロができれば助かる。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 Sub sample() Dim i As Long For i = 3 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B") <> "" Then Cells(i, "A") = i - 2 Next End Sub

5goma
質問者

お礼

mu2011 様 ありがとうございました。お蔭様で解決しました。 ご紹介いただいたものはすべて成功しました。 大切に使わせていただきます。 恐縮ですが早めにご回答いただいた方をBest Answerと致しました。

その他の回答 (2)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.3

以下でどうでしょうか? Sub macro() Range("A3").Value = 1 Range("A3").DataSeries xlColumns, xlDataSeriesLinear, , 1, Range("B" & Rows.Count).End(xlUp).Row - 2 End Sub ちなみに、手動操作ですが、A3,A4に1,2と入力し、A3:A4を選択した状態で、+ボタン上でダブルクリックすると、データのある範囲すべて連番になります。

5goma
質問者

お礼

kybo 様 ありがとうございました。お蔭様で解決しました。 ご紹介いただいたものはすべて成功しました。 大切に使わせていただきます。 恐縮ですが早めにご回答いただいた方をBest Answerと致しました。 ショートカットまで教えていただいて助かりました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

マクロ以前にエクセルシートの操作で連番を入れる方法を色々知っていると,そのままマクロにも応用できます。 たとえば: sub macro1()  dim r as long  r = range("B65536").end(xlup).row  if r < 3 then exit sub  with range("A3:A" & r)  .formula = "=ROW(A1)"  .value = .value  '状況によるけど別に無くてもいい  end with end sub

5goma
質問者

お礼

keithin 様 ありがとうございました。お蔭様で解決しました。 ご紹介いただいたものはすべて成功しました。 大切に使わせていただきます。 恐縮ですが早めにご回答いただいた方をBest Answerと致しました。

関連するQ&A

専門家に質問してみよう