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

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

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

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

Q&A

解決済

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

yu_tommy
yu_tommy

総合スコア10

VBA

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

1回答

0グッド

0クリップ

315閲覧

投稿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" を"@"にしてもできませんでした。

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

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

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

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

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

okakemetal

2023/01/11 09:56

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

2023/01/11 10:04

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

2023/01/11 10:06

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

回答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

総合スコア740

下記のような回答は推奨されていません。

  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

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 を消したら、無事治りました。。。。(こんな簡単なことでお恥ずかしいです。。。) ありがとうございました!本当に本当に助かりました!!感謝致します。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

VBA

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