過去ログ

                                Page     480
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼if文の条件部に文字列を入れるには?  koji 02/12/25(水) 14:16
   ┗Re:if文の条件部に文字列を入れるには?  つん 02/12/25(水) 14:36
      ┗Re:if文の条件部に文字列を入れるには?  Jaka 02/12/25(水) 16:08
         ┗Re:if文の条件部に文字列を入れるには?  Jaka 02/12/25(水) 16:11

 ───────────────────────────────────────
 ■題名 : if文の条件部に文字列を入れるには?
 ■名前 : koji
 ■日付 : 02/12/25(水) 14:16
 -------------------------------------------------------------------------
     If Range("A1").Value = 1 Then
    MsgBox (Range("A1").Value)
  End If
の条件文部分をあらかじめ文字列として作成しておき、それをif文で使用するような
ことってできないでしょうか?
以下のような感じで。。(以下はif文で型エラーになりますが。。)
  Dim str As String
  str = "Range(" & """" & "A1" & """" & ").Value =1 "
  if str then
    MsgBox (Range("A1").Value)
  End If
    
要は、このif文処理にくるまでの所で条件内容を作成、追加していき、
このif文で一気に判定する。ということをしたいと思っています。

なにかいい方法があればご教授ください。よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:if文の条件部に文字列を入れるには?  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/12/25(水) 14:36  -------------------------------------------------------------------------
   koji さん、こんにちは

>の条件文部分をあらかじめ文字列として作成しておき、それをif文で使用するような
>ことってできないでしょうか?
>以下のような感じで。。(以下はif文で型エラーになりますが。。)
>  Dim str As String
>  str = "Range(" & """" & "A1" & """" & ").Value =1 "
>  if str then
>    MsgBox (Range("A1").Value)
>  End If

Ifの条件式は、やっぱり If ○○=△△ Then のように、「式」になってないとNGではないでしょうか?

ようするに、参照するセルも、値も変数に入れたいってことですよね?
こんな感じだったらどうでしょう?

Sub test()

  Dim Rng As Range
  Dim lngTest As Long
  
  Set Rng = Range("A1")
  lngTest = 1
  
  If Rng.Value = lngTest Then
    MsgBox Rng.Value
  Else
    MsgBox lngTest & " 以外の数値です"
  End If
  
  Set Rng = Nothing

End Sub

なんだか、はずしているような気も・・・だったらすんません(>_<)
 ───────────────────────────────────────  ■題名 : Re:if文の条件部に文字列を入れるには?  ■名前 : Jaka  ■日付 : 02/12/25(水) 16:08  -------------------------------------------------------------------------
   kojiさん、つんさん こんにちは
卑怯かもしれないけど駄例1。

Sub ui()
  Range("IV3655").Value = "=IF(A1=1,True,False) "
  If Range("IV3655").Value Then
    MsgBox Range("A1").Value
  End If
  Range("IV3655").Clear
End Sub
 ───────────────────────────────────────  ■題名 : Re:if文の条件部に文字列を入れるには?  ■名前 : Jaka  ■日付 : 02/12/25(水) 16:11  -------------------------------------------------------------------------
   適当に書いて済みません。

IV3655 ⇒ IV65536
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 480