Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4094 / 13644 ツリー ←次へ | 前へ→

【58467】IF function KT 08/10/27(月) 14:03 質問[未読]
【58468】Re:IF function Yuki 08/10/27(月) 14:49 発言[未読]
【58469】Re:IF function KT 08/10/27(月) 16:10 質問[未読]
【58471】Re:IF function KT 08/10/27(月) 16:18 回答[未読]

【58467】IF function
質問  KT  - 08/10/27(月) 14:03 -

引用なし
パスワード
   VBAの初心者ですけど、IF Functionのエラーで困ってます。よかったら、教えてください。

IF ファンクションで、セルに某ソフトからリアルタイムに取ったデータが“#N/A XXX"のときに、式Aを走らせ、数値があるときにはBを走らせるMacroを作ったのですが、F8で見たところ、数値が#N/A XXXのときも、数値のあるものとして認識されてるようです。どうすればいいのでしょうか?ちなみにXXXの部分はセルによって変わってるので、=”#N/Aセル内容”にすることができません。また、IsErrorも試しましたが、同じように次の部分に飛んでいるようです。

お願いします。

Sub Pricing()
Dim Spot As Integer

rCnt = WorksheetFunction.Count(Sheets("A").Range("F6:F1000"))
i = 7
Do Until i = rCnt + 1000
 
    If Worksheets("Reuters").Range("F" & i).Text Like "#N/A*" Then
      Spot = Worksheets("reuters").Range("K" & i).Value
      
    式A        
   
    ElseIf IsNumeric(Worksheets("Reuters").Range("F" & i)) Then
      Spot = Worksheets("reuters").Range("L" & i).Value
    式A

   Else
    Spot = 0
    Worksheets("Reuters").Range("Q" & i) = ""
    Worksheets("Reuters").Range("R" & i) = ""
    
    
   End If
  
  
  i = i + 1
Loop

End Sub

【58468】Re:IF function
発言  Yuki  - 08/10/27(月) 14:49 -

引用なし
パスワード
   ▼KT さん:
こんにちは。

#N/A ってエラー値扱いですよね。
If IsError(Worksheets("Reuters").Range("F" & i) Then
他のエラーも引っかかってしまうから駄目ですね?

【58469】Re:IF function
質問  KT  - 08/10/27(月) 16:10 -

引用なし
パスワード
   ▼Yuki さん:
>▼KT さん:
>こんにちは。
>
>#N/A ってエラー値扱いですよね。
>If IsError(Worksheets("Reuters").Range("F" & i) Then
>他のエラーも引っかかってしまうから駄目ですね?

ありがとうございます。
そうなんですか?VBAの初心者のものであまりよくわからないですが、ネットで検索してIsErrorもあったので、試しましたが、うまくいかなかったです。
ちなみにIsNumericも試したのですが、だめで。何かいい方法ないですか?

【58471】Re:IF function
回答  KT  - 08/10/27(月) 16:18 -

引用なし
パスワード
   解決しました!
どうやら、セルの指定を間違えたようです。
VBAの構文に自信がないので、そっちにばっかり気を配ってしまいました。
どうも、お騒がせしました。

ありがとうございます。

4094 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free