![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
他の方の指摘にあるように
ユーザー定義型は、値型なので、Nothing には、なりません。
くだらない例ですが
Type MyType
a As String
b As Integer
End Type
Public MyNothing As MyType '値が未設定な状態(デフォルト初期化状態)
Public Sub test()
Dim a As MyType
If a.a = MyNothing.a And a.b = MyNothing.b Then
MsgBox "yes"
End If
End Sub
みたいにすればどうでしょう。
メンバがそれぞれ未初期化のものと同じであるかどうかは、function にするといいかもしれません。
(未初期化が有効な値を表す場合には使えません)
いろいろやってみてたらよくわからないけど、
↓のようにすると望んだように動いてくれました。
If Not Not ユーザー定義型 Then
~処理~
End If
回答ありがとうございました。
No.2
- 回答日時:
私が知ってる限り、On Errorとかを使って・・・という無理矢理な方法しかないです。
そういうわけで私は
構造体(ユーザー定義型)→クラス
配列→コレクション
を使ってます。
いろいろやってみてたらよくわからないけど、
↓のようにすると望んだように動いてくれました。
If Not Not ユーザー定義型 Then
~処理~
End If
回答ありがとうございました。
No.1
- 回答日時:
>ユーザー定義型がNothingじゃなかったら
ユーザー定義型とは?
Type ユーザー定義型
aaa as string
bbb as integer
end Type
と宣言してあって、
Dim 変数 as ユーザー定義型
で変数がNothingであるかどうかを知りたいということ?
Nothingはオブジェクトに対しての比較なので、単なる型で定義されている変数はNothingにしようがありません。
この場合、Typeで型を宣言するのではなく、クラスを作成したら、質問者さんの望む事が可能かと思います。
いろいろやってみてたらよくわからないけど、
↓のようにすると望んだように動いてくれました。
If Not Not ユーザー定義型 Then
~処理~
End If
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) エクセル VBAで複数セル選択時エラーになる問題 3 2022/10/04 02:40
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Visual Basic 6.0 コンボボックスのChangeイベントが発生しません
Visual Basic(VBA)
-
VBの「As String * 128」とは?
Visual Basic(VBA)
-
VB6 配列を初期化したい
Visual Basic(VBA)
-
-
4
VB6とVB.NETでNullの扱いが違う?
Visual Basic(VBA)
-
5
DATE型変数を初期化する方法
Visual Basic(VBA)
-
6
構造体のコピー
Visual Basic(VBA)
-
7
配列を関数に渡す方法
Visual Basic(VBA)
-
8
構造体配列の特定のメンバーをFor~Eachで
Visual Basic(VBA)
-
9
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
10
定数配列の書き方
Visual Basic(VBA)
-
11
タブキー押下時のイベントをひろいたい。
Visual Basic(VBA)
-
12
動的配列が存在(要素が有る)か否かを判定できますか?
Visual Basic(VBA)
-
13
VB6.0 ファイルの一括読込み
Visual Basic(VBA)
-
14
VB6のListの使い方
Visual Basic(VBA)
-
15
VB6のメモリ解放に関して
Visual Basic(VBA)
-
16
subの配列引数をoptionalで使う方法
Visual Basic(VBA)
-
17
配列の重複する値とその個数を取得したい
Visual Basic(VBA)
-
18
VBの質問#if 0 then ってどう言う意味?
Excel(エクセル)
-
19
VB6.0-整数と余りを求める
Visual Basic(VBA)
-
20
VBで構造体の配列を関数に渡す方法?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロについて教え...
-
ExcelVBA修正のお願い
-
エクセルのマクロについて教え...
-
エクセルのVBAコードについて教...
-
エクセルのVBAコードについて教...
-
エクセルのマクロについて教え...
-
[vb.net] 起動したFrom2を閉じ...
-
エクセルのマクロについて教え...
-
[VB.net] ボタン(Flat)のEnable...
-
エクセルのマクロについて教え...
-
VBAコードについて教えてくださ...
-
VBA 別ブックからコピペしたい...
-
エクセルのマクロについて教え...
-
【ExcelVBA】インデックスが有...
-
Outlookの「受信日時」「件名」...
-
VBAでCOPYを繰り返すと、処理が...
-
コードを直していただきたいで...
-
Excel(M365) Vlookup/セル反転(...
-
Vba SelStart、SelLen教えてく...
-
Excel VBA 定義されたプロージ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
LRESULTとHRESULT
-
TextChangeイベントが発生しない
-
ifdefとenum
-
#define 文
-
PHP + MySQL で登録時に重複チ...
-
時間差を取得結果を求めるには
-
【javaScript】KeyboardEventで...
-
int型やfloat型などの範囲を返...
-
PHP requireの後にJS実行
-
関数内でのグローバル変数
-
callbackってなんですか。
-
char[]とchar*
-
JAVAの引数と戻り値について
-
アクティブなウィンドウのみ、...
-
関数定義について質問です 架空...
-
isLoading:Boolean = trueの使い道
-
C#のWindowsアプリケーションの...
-
VBにアクセスのデータベースを...
おすすめ情報