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コード
「文字を0と認識し」というのは対象となるセルに入っている「0」という文字列を数字の「0」として扱いたいということでしょうか。
もしそうであれば以下が参考になるかと存じます。
VBA 文字列を変換する
https://www.tipsfound.com/vba/04004
また、実際に書いてみたコードを質問に掲載するとより詳しい方から具体的な回答が得られるかもしれません。
なおその際、コードはコードブロックで囲うことをお忘れなく(コードブロックについては以下参照)。
質問する際にMarkdownは必ず使って欲しい - Qiita
https://qiita.com/kai0310/items/d6ad23d7e60eeb103c9d
ご参考まで。
VBAでということでしょうか。
セルに関数式を設定するということでしょうか。
=IF(B2<>"",0,A1+1) みたいなこと?
@fj68 さん
質問名用の記載を修正させて頂きました。
誤解を招く記載、大変失礼致しました・・・
また、コードブロックの件をご教示頂きありがとうございます。
@hatena19 さん
VBAおいて、でございます。
@jinoji さん
ひとまずやってみます。ありがとうございます。
回答1件
あなたの回答
tips
プレビュー