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

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

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

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

Q&A

解決済

1回答

476閲覧

IF文でセルに数字を入力したいが、出来ない

yu_tommy

総合スコア10

VBA

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

0グッド

0クリップ

投稿2023/01/11 09:09

初めまして。質問をさせて頂きますので、
ご回答頂けますと幸いです。

実現したいこと

'表示の形式
Columns("E:E").NumberFormatLocal = "00000"
Columns("F:F").NumberFormatLocal = "00"

'変数の宣言
Dim maxrow As Long
maxrow = Worksheets(1).Cells(Rows.Count, 5).End(xlUp).Row
Dim i
For i = 2 To maxrow

'売先コードの入力
If Range("E" & i).Value = "○○株式会社" Then
Range("E" & i).Value = "06427" And _
Range("F" & i).Value = "00"

 ElseIf Range("E" & i).Value = "株式会社▲▲" Then
Range("E" & i).Value = "06424" And _
Range("F" & i).Value = "01"

 end if

としているのですが、下記通りE列には00000、F列は空欄となってしまいます。
イメージ説明

試したこと

Columns("E:E").NumberFormatLocal = "00000" を"@"にしてもできませんでした。

お分かりの方いらっしゃいましたら、ご回答頂けますと非常に助かります。
宜しくお願い致します。

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

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

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

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

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

okakemetal

2023/01/11 09:56

デバッグで変数の値が希望した値になっているか確認されましたか?
meg_

2023/01/11 10:04

インデントが分かるように、コードは「コードの挿入」で記入されると回答者が読みやすくなります。
meg_

2023/01/11 10:06

"○○株式会社"とか"株式会社▲▲"が存在していないからではないですか?
guest

回答1

0

ベストアンサー

※回答変更済み

VBA

1'表示の形式 2Columns("E:E").NumberFormatLocal = "00000" 3Columns("F:F").NumberFormatLocal = "00" 4 5'変数の宣言 6Dim maxrow As Long 7maxrow = Worksheets(1).Cells(Rows.Count, 5).End(xlUp).Row 8Dim i 9For i = 2 To maxrow 10 11'売先コードの入力 12If Range("E" & i).Value = "○○株式会社" Then 13Range("E" & i).Value = 6427 14Range("F" & i).Value = 0 15 16 ElseIf Range("E" & i).Value = "株式会社▲▲" Then 17Range("E" & i).Value = 6424 18Range("F" & i).Value = 1 19 20 end if 21next i

①:数値表記なので数値を代入してください。(足りない桁は自動的に0で埋めてくれます)
②:And不要です(今回のバグの主原因です)

以上2点の修正で動作確認済みです。(excel2019)

投稿2023/01/11 23:54

編集2023/01/12 05:07
pig_vba

総合スコア807

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

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

yu_tommy

2023/01/12 03:50

ご回答ありがとうございます! 回答頂いた内容ですが、 一応、同一シート内での処理となっております。 宜しくお願い致します。
yu_tommy

2023/01/12 03:52

Eのセルに入っている、〇〇株式会社という情報が、数字に入れ替わってはいるのですが、06427という数字ではなく、00000という数字で入力されてしまうという問題でした。
pig_vba

2023/01/12 05:05

回答を修正しました。
yu_tommy

2023/01/13 12:40

ご返信遅くなり申し訳ございません。 and を消したら、無事治りました。。。。(こんな簡単なことでお恥ずかしいです。。。) ありがとうございました!本当に本当に助かりました!!感謝致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問