
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)
-
動的配列が存在(要素が有る)か否かを判定できますか?
Visual Basic(VBA)
-
VB6 配列を初期化したい
Visual Basic(VBA)
-
-
4
構造体をコレクションに入れて扱いたいのですが…
コレクション
-
5
コンパイルエラー:ユーザ定義型は定義されていません、と出るのですがどのライブラリファイルかわかりません。
Visual Basic(VBA)
-
6
配列を関数に渡す方法
Visual Basic(VBA)
-
7
構造体配列の特定のメンバーをFor~Eachで
Visual Basic(VBA)
-
8
VB6で構造体(ユーザー定義型)の比較でエラーになります。
Visual Basic(VBA)
-
9
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
10
VB6のwinsockでconnectできない
Visual Basic(VBA)
-
11
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
12
VBの「As String * 128」とは?
Visual Basic(VBA)
-
13
VBのReturnの使い方
Visual Basic(VBA)
-
14
どこにもフォーカスを当てたくない
Access(アクセス)
-
15
VB6.0(SP6)にて開発を行なっています。参照設定に関して教えてく
IT・エンジニアリング
-
16
DoEventsがやはり分からない
Visual Basic(VBA)
-
17
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
18
メモリ不足
Visual Basic(VBA)
-
19
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
20
VB6で、長い時間かかる処理実行中の表示の工夫について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】並び替えの範囲が、...
-
VBA ユーザーフォーム ボタンク...
-
2つのマクロでチェックボックス...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでCOPYを繰り返すと、処理が...
-
エクセルのマクロについて教え...
-
vb.net(vs2022)のtextboxのデザ...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】値を変更しながら...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
Excel VBA 選択範囲の罫線色の...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
エクセルの改行について
-
エクセルのVBAコードと数式につ...
-
ExcelのVBAコードについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
LRESULTとHRESULT
-
#define 文
-
TextChangeイベントが発生しない
-
ifdefとenum
-
クラス内に自作のイベントを定...
-
PHP + MySQL で登録時に重複チ...
-
時間差を取得結果を求めるには
-
アクティブなウィンドウのみ、...
-
callbackってなんですか。
-
【javaScript】KeyboardEventで...
-
プレロードイメージについて
-
Javascriptのreturnについての...
-
char[]とchar*
-
SetTimer関数について
-
isLoading:Boolean = trueの使い道
-
PHP requireの後にJS実行
-
functionのパラメータの渡し方...
-
【JavaScript】イベント伝播の...
おすすめ情報