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

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

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

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

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Q&A

解決済

1回答

1286閲覧

if構文 デバッグ 原因不明

N2balloon

総合スコア2

VBA

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

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

0グッド

0クリップ

投稿2021/06/15 05:50

編集2021/06/15 05:57

Sub test()
Dim i As Long
Dim copyWB
Dim pasteWB
Dim search
Set copyWB = Workbooks.Open("2021年度原料単価.xls")
Set pasteWB = ThisWorkbook.Worksheets("Sheet1")

For i = 16 To 29
pasteWB.Range("H" & i) = Application.VLookup(pasteWB.Range("F" & i), copyWB.Worksheets("sheet1").Range("F4:J80"), 5, False)

  ★If pasteWB.Range("H" & i) = "#N/A" Then
pasteWB.Range("H" & i) = "0"

   End If
Next

copyWB.Close

MsgBox "完了"

End Sub

VBA勉強し始めて間もない初心者です。
上記のコードを書いた意図といたしまして、
作成するブック(pasteWB)のF列数行に原料名を入力してマクロを動かします。
すると、対応する列の PasteWB のH列に原料名を完全一致で別ブック(copyWB)から原料名(F列)、金額(J列)が書かれたF4:J80の範囲で検索し、自動入力させるようにしたつもりです。

ここで、完全一致せずエラー表記(#N/A)になったものは、とりあえず"0"と表記させるためにif構文を用いたのですが、デバッグがなんたらと言われ、黄色で表示されてしまいます。
(今は"0"と表記するよう指示していますが、ゆくゆくは一部一致で検索し直し、類似する原料名候補を全部表示させて入力者が選択できるようにしたいです)

色々調べたつもりですが、ここでのif構文のエラーがなぜ出てくるのかが分かりません。
ご助力願います。。

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

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

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

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

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

BeatStar

2021/06/15 05:57

『デバッグがなんたら』ではなく、 ちゃんと書きましょう。 エラーメッセージは怒声でも罵倒でも暴言でもハラスメントでもなく、 『コンパイラ等からのメッセージ』です。
maisumakun

2021/06/15 05:57

> デバッグがなんたらと言われ、黄色で表示されてしまいます。 正確なエラーメッセージを書いていただけないでしょうか?
N2balloon

2021/06/15 05:59

すみません。ご指摘ありがとうございます。 実行時エラー'13': 型が一致しません。 と返ってきます。 よろしくお願いいたします。
guest

回答1

0

ベストアンサー

ここが参考になりますか?
https://oshiete.goo.ne.jp/qa/868277.html

投稿2021/06/15 06:10

chibi_kuma

総合スコア85

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

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

N2balloon

2021/06/15 06:20

おおお! If pasteWB.Range("H" & i).Text = "#N/A" Then .Textを加えることで正常に動きました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問