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

A列に値(文字列)が入っていたらB列に連番を入力するマクロを教えてください。
なお、間に空白セルが入ると、連番を1からスタートさせるマクロを作りたいと思っています。

例)
A列
あああ
いいい
(空白)
かかか
ききき
くくく
(空白)
さささ
ししし
すすす
せせせ
そそそ
たたた
(空白)

マクロを実行した結果
A列     B列
あああ    1
いいい    2
(空白) 
かかか    1
ききき    2
くくく    3
(空白) 
さささ    1
ししし    2
すすす    3
せせ     4
そそそ    5
たたた    6
(空白)

A列に対して、マクロを実行するとB列が出来上がるようなマクロを作りたいなと思っています。
どなたかわかる方、宜しくお願いします。

A 回答 (1件)

Sub 連番表示()



Dim nRow ' 行数カウント用変数
Dim maxRow ' 最大行数
Dim count ' 連番カウント用変数

count = 0 ' カウント初期化

' 最大行数取得
maxRow = Range("A65536").End(xlUp).Row

For nRow = 1 To maxRow
' セルの中身が空ではない場合
If Cells(nRow, 1) <> "" Then
count = count + 1 ' 連番カウントに1加算
Cells(nRow, 2) = count ' B列に連番カウント代入
Else
count = 0 ' 連番カウントリセット
End If
Next nRow

End Sub

たぶんこれでできると思います。
出来なかったら言ってください。
直します
    • good
    • 1
この回答へのお礼

早速の回答ありがとうございました!
私も似たようなのを途中まで書いていたのですが、・・・。

End ifの次に 連番カウントリセットの記述をしたら良かったのですね!

ありがとうございました。
おかげさまで助かりました!

お礼日時:2015/12/17 12:59

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

このQ&Aを見た人はこんなQ&Aも見ています