質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

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

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

1回答

500閲覧

文字を0と認識し、一つ下のセルから「n+1」で連番をつけたい

Shou1142

総合スコア5

VBA

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

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2021/10/25 07:40

編集2021/10/25 07:59

IF分で一覧表の項目を内容(例えば、ID/入社日/氏名など・・・)を0とみなし、その下のセルから入力されたセルに連番で番号を振りたい場合、どのようにしたらよろしいでしょうか?ご教示願います。

Sub

1 2 Dim c, nextcell, num As Integer 3 Dim ID, name, stday, belo, etc As String 4 5 c = Cells(Rows.Count, 1).End(xlUp).row 6 nextcell = c + 1 7 num = Cells(c, 1).Value 8 9 10 ID = Range("C4") 11 name = Range("C6") 12 stday = Range("C8") 13 belo = Range("C10") 14 etc = Range("C12") 15 16 Cells(nextcell, 1).Value = num + 1 17 Cells(nextcell, 2).Value = ID 18 Cells(nextcell, 3).Value = name 19 Cells(nextcell, 4).Value = stday 20 Cells(nextcell, 5).Value = belo 21 Cells(nextcell, 6).Value = etc 22 Range(Cells(16, 1), Cells(nextcell, 6)).Borders.LineStyle = xlContinuous 23 24 MsgBox ("登録処理を行いました。") 25End Sub 26コード

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

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

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

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

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

fj68

2021/10/25 07:53

「文字を0と認識し」というのは対象となるセルに入っている「0」という文字列を数字の「0」として扱いたいということでしょうか。 もしそうであれば以下が参考になるかと存じます。 VBA 文字列を変換する https://www.tipsfound.com/vba/04004 また、実際に書いてみたコードを質問に掲載するとより詳しい方から具体的な回答が得られるかもしれません。 なおその際、コードはコードブロックで囲うことをお忘れなく(コードブロックについては以下参照)。 質問する際にMarkdownは必ず使って欲しい - Qiita https://qiita.com/kai0310/items/d6ad23d7e60eeb103c9d ご参考まで。
hatena19

2021/10/25 08:07

VBAでということでしょうか。 セルに関数式を設定するということでしょうか。
jinoji

2021/10/25 08:18

=IF(B2<>"",0,A1+1) みたいなこと?
Shou1142

2021/10/25 08:54

@fj68 さん 質問名用の記載を修正させて頂きました。 誤解を招く記載、大変失礼致しました・・・ また、コードブロックの件をご教示頂きありがとうございます。
Shou1142

2021/10/25 08:55 編集

@hatena19 さん VBAおいて、でございます。
Shou1142

2021/10/25 08:56

@jinoji さん ひとまずやってみます。ありがとうございます。
guest

回答1

0

ベストアンサー

VBAでするなら、Val関数という便利なものがあります。
数値、または数値と解釈できる文字列なら数値に変換。
数値でない文字列は0に変換してくれます。

vba

1 c = Cells(Rows.Count, 1).End(xlUp).Row 2 nextcell = c + 1 3 num = Val(Cells(c, 1).Value)

投稿2021/10/25 09:40

編集2021/10/25 09:41
hatena19

総合スコア34075

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

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

Shou1142

2021/10/27 02:36

ありがとうございます・・・ 解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問