- ベストアンサー
エクセルのマクロで連番を取得する方法
- エクセルのマクロを使用して、Retsu1の値に連番を書き込む方法について教えてください。
- Retsu1の値が変化するたびに1から始まる連番をRetsu2に書き込む方法を教えてください。
- マクロ初心者であるため、Gyou, Retsu1, Retsu2の宣言までしかできていません。続きのマクロを教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 色々方法はあるかと思いますが、 一例です。 個人的に For~Next を使うのが好きなので・・・ データはA列の2行目からあるとします。 Sub test1() Dim i As Long If Cells(2, 1) <> "" Then Cells(2, 2) = 1 End If For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1) = Cells(i - 1, 1) Then Cells(i, 2) = Cells(i - 1, 2) + 1 Else Cells(i, 2) = 1 End If Next i End Sub こんな感じではどうでしょうか?m(__)m
その他の回答 (2)
- mu2011
- ベストアンサー率38% (1910/4994)
関数の方が簡単なのでマクロにしなくてもよいのではないでしょうか。 Retu2の先頭に=COUNTIF($A$1:A1,A1)として下方向にコピーしてみて下さい。
お礼
ご回答ありがとうございました。 役に立ちました。また,勉強にもなりました。 ただ,今回はマクロで実行しようと考えています。 関数でも簡単にできるんですね。
- keithin
- ベストアンサー率66% (5278/7941)
1行目にタイトル行,2行目からデータ A列にグループ番号 B列に123123として sub macro1() with range("B2:B" & range("A65536").end(xlup).row) .formula = "=IF(A1<>A2,1,SUM(B1,1))" .value = .value end with end sub
お礼
ご回答ありがとうございました。 役に立ちました。また,勉強にもなりました。
お礼
ご回答ありがとうございました。 役に立ちました。また,勉強にもなりました。 For~Nextは初心者でも理解しやすくていいですね。 これからも頑張ってみます。