![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VB6とVB.NETでNullの扱いが違う?
Visual Basic(VBA)
-
VBの「As String * 128」とは?
Visual Basic(VBA)
-
Visual Basic 6.0 コンボボックスのChangeイベントが発生しません
Visual Basic(VBA)
-
-
4
構造体のコピー
Visual Basic(VBA)
-
5
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
6
DATE型変数を初期化する方法
Visual Basic(VBA)
-
7
VB6 配列を初期化したい
Visual Basic(VBA)
-
8
配列を関数に渡す方法
Visual Basic(VBA)
-
9
構造体配列の特定のメンバーをFor~Eachで
Visual Basic(VBA)
-
10
動的配列が存在(要素が有る)か否かを判定できますか?
Visual Basic(VBA)
-
11
タブキー押下時のイベントをひろいたい。
Visual Basic(VBA)
-
12
VBで構造体の配列を関数に渡す方法?
Visual Basic(VBA)
-
13
VB6.0-整数と余りを求める
Visual Basic(VBA)
-
14
VB6のListの使い方
Visual Basic(VBA)
-
15
VB6のメモリ解放に関して
Visual Basic(VBA)
-
16
VBの質問#if 0 then ってどう言う意味?
Excel(エクセル)
-
17
定数配列の書き方
Visual Basic(VBA)
-
18
VB6 開発環境のエディタに行番号を表示
Visual Basic(VBA)
-
19
VB6.0 ファイルの一括読込み
Visual Basic(VBA)
-
20
TextBoxコントロールを引数として渡すには?
その他(教育・科学・学問)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
TextChangeイベントが発生しない
-
#define 文
-
PHP + MySQL で登録時に重複チ...
-
isLoading:Boolean = trueの使い道
-
JAVAの引数と戻り値について
-
char[]とchar*
-
VB.NET の配列の要素数
-
ランダム表示を重複させないよ...
-
FlashPlayer6から8の仕様の変更...
-
FlashソフトSuzukaで、トランプ...
-
VB6 複数行のテキストをリスト...
-
c++ cmathとmath.h
-
データ型の必然性について
-
Flashでランダムクイズゲームを...
-
flash.AS3で音楽再生について
-
変な質問ですみません、n番目の...
-
DataGridでCTRLキーを押さずに...
-
XML内のタグの内容を、変数に出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
TextChangeイベントが発生しない
-
#define 文
-
LRESULTとHRESULT
-
ifdefとenum
-
時間差を取得結果を求めるには
-
fetchでreturnで戻り値
-
PHP + MySQL で登録時に重複チ...
-
関数定義について質問です 架空...
-
VBS 名前定義の確認→ありかなし...
-
複数関数からの戻り値returnの指定
-
char[]とchar*
-
関数内でのグローバル変数
-
isLoading:Boolean = trueの使い道
-
アクティブなウィンドウのみ、...
-
c++ cmathとmath.h
-
python: 直角三角形の種類を求...
-
VB.NET の配列の要素数
-
変な質問ですみません、n番目の...
おすすめ情報