質問するログイン新規登録
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

1020閲覧

空白セルでリセットされる連番

doyayosimi

総合スコア1

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2022/10/18 04:29

編集2022/10/18 09:06

0

0

前提

一つのシートに二つの表があります。
1から連番をふっていって、空白行があれば連番を振り直したいのですが

【表A】の最終行にデータを入れると、【表B】の最初の行が【表A】の連番になってしまいます。
【表B】の最初の行3を1と表示させるにはどうしたらいいですか?

実現したいこと![イメージ説明]

イメージ説明
【表B】の最初の行番号3を1と表示させる

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

Option Explicit
Sub 空白リセット連番() '空白セルがあれば連番を振り直す

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

count = 0 ' カウント初期化

For nRow = 6 To 20 '【表A】の選択開始------------------------

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

End If

If Cells(nRow, 3) = "" Then
Cells(nRow, 2) = " "

End If

Next nRow '【表A】の選択終了------------------------

For nRow = 24 To 38 '【表B】の選択開始------------------------

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

End If

If Cells(nRow, 3) = "" Then
Cells(nRow, 2) = " "

End If

Next nRow '【表B】の選択終了------------------------

End Sub

試したこと

For nRow = 6 To 20 '【表A】の選択範囲を変更してみたが、思った結果にならなかった。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatena19

2022/10/18 05:42

Excel VBA に関する質問ですよね。タグに、Excel と VBA を追加してください。 また、Count はSQLの関数のことですので、今回は関係ないのでタグから削除してください。
guest

回答1

0

ベストアンサー

【表B】への処理の前にカウント初期化を追加すればいいでしょう。

vba

1 Next nRow '【表A】の選択終了------------------------ 2 3 count = 0 ' カウント初期化 これを追加 4 5 For nRow = 24 To 38 '【表B】の選択開始------------------------ 6

表範囲が固定になっているのは気になりますが。

投稿2022/10/18 05:54

hatena19

総合スコア34367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

doyayosimi

2022/10/18 06:27

早速の回答ありがとうごさいます。 調べてもわからず、つまずいて悩んでいましたが、ものすごく助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問