はじめに
既に値が入っているセルに連番を振りたいと思ったことはありませんか。そのような場合、次のコードで実現することができます。
連番を振るコード
Sub test()
Dim cnt As Long
cnt = 1
Dim s As Variant
For Each s In Selection.Cells
Cells(s.Row, s.Column).Value = cnt & "." & Cells(s.Row, s.Column).Value
cnt = cnt + 1
Next
End Sub
実行結果(連番を付与)
選択範囲のセルに連番が書き込まれました!
先ほどの連番を消すコード
先ほど書き込んだ連番を消したいときは以下のコードで消すことができます。
Sub test2()
Dim pos As Long
Dim s As Variant
For Each s In Selection.Cells
' 最初のカンマの位置を取得
pos = InStr(Cells(s.Row, s.Column).Value, ".")
Cells(s.Row, s.Column).Value = Mid(Cells(s.Row, s.Column).Value, pos + 1)
Next
End Sub
実行結果(連番を消去)
連番を消すことができました。
※注意:先頭のコンマまでの文字が消えますので今回ご紹介した方法でつけた連番以外を消すときは「連番.(半角コンマ)」になっているかご確認ください。
おわりに
既に値が入っている場合、そのセルに連番を振りたいと思っても、なかなか単純にはいかないかもしれません。今回の方法を使用すれば簡単に連番を振ることができますね!お試しください。
ではまた。
コメント