52

オブジェクトがあり、その中でいくつかのプロパティがfalseに設定されているかどうかを確認したい.

If (not objresult.EOF) Then
  'Some code 
End if

しかし、どういうわけか、時々objresult.EOFでありEmpty、どうすれば確認できますか?

  • IsEmpty関数はExcelセル専用です
  • objresult.EOF Is Nothing- 戻るEmpty
  • objresult.EOF <> null- も返しEmptyてください!
4

4 に答える 4

106

テスト方法は、プロパティの DataType によって異なります。

| | タイプ | テスト | テスト テスト2
| | 数値 (Long、Integer、Double など) | obj.Property = 0 の場合 |
| | ブーレン (真/偽) | obj.Property でなければ | obj.Property = False の場合
| | オブジェクト | obj.Property が何もない場合 |
| | 文字列 | If obj.Property = "" その後 | LenB(obj.Property) = 0 の場合
| | バリアント | If obj.Property = Empty Then |

F2 キーを押してオブジェクト ブラウザを起動し、オブジェクトを検索することで、DataType を知ることができます。もう 1 つの方法は、TypeName 関数を使用することです。MsgBox TypeName(obj.Property)

于 2010-07-25T22:13:32.250 に答える
13

数値の場合、数値セルがemptyVBA によって既定値の 0 が割り当てられるため、入力されたゼロと空白の数値セルの違いを VBA コードで判断するのは難しいため、注意が必要です。

次のチェックは、セルに実際に 0 が入力されているかどうかを確認するために機能しました。

If CStr(rng.value) = "0" then
    'your code here'
End If
于 2015-05-20T14:53:29.033 に答える