Visual basic 6.0でExcelマクロを作成してます。
セル内(A1)が空の場合、という条件をつける場合、
If .Range("A1").Value = Null Then
と記したのですが、エラーになります。
この条件をする場合、どのようにコードを記載したらいいのか教えて頂けますよう宜しくお願い致します。
長さ0の文字列として評価できます。
If .Range("A1").Value = "" Then
前回の質問も考慮に入れ、
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200501/05010096.txt
Range.Value で得られる値は Object 型とか、Variant 型
といった類のものです。
変数の型を意識したコーディングをするのは大事です。長さ
0の文字列は String 型ですので型を一致させるために
型変換関数を使ってみましょう。
If CStr(.Range("A1").Value) = "" Then
早速のご回答ありがとうございます。
因みに空以外の場合、
If .Range("A1").Value != "" Then
だとエラーになるのですが、この場合、どのようにコード記載したらよいのでしょうか?
重ね重ね申し訳ございませんが、宜しくお願い致します。
>If .Range("A1").Value != "" Then
! が余分では?
>エラーになるのですが、
何エラーですか?
親オブジェクトの指定に問題はありませんか?
すいません。訂正です。
●訂正前
If .Range("A1").Value != "" Then
●訂正後
If CStr(.Range("A1").Value) = "" Then
VB系は、『!=』ではなく『<>』ですね。
ヘルプのキーワード検索で『比較演算子』についても読んでおいてください。
書き方を変えれば、『=』しか知らなくても、一応実装できますけどね。(^^;
If Not .Range("A1").Value = "" Then
End If
とか、あるいは、
If .Range("A1").Value = "" Then
Else
(実際の処理)
End If
とか。(まぁ、読みにくいだけですけど)
皆さん、ご回答ありがとうございました。
>VB系は、『!=』ではなく『<>』ですね。
でできました!ありがとうございました。