
いつもお世話になっております。
早速ですが、ExcelVBAでNZ関数を使いたいのですが、
「実行時エラー'429'
ActiveXコンポーネントはオブジェクトを作成できません。」
とエラーが出て、うまくいきません。
実現したい結果は、テキストボックスに入力された値に対して
Nullチェックし、Nullの場合、変数に"名無し"と入力するとった
処理です。
ロジックは以下のように書きました。
Dim strName As String
strName = Nz(txtName.text,"名無し")
環境は以下の通りです。
・Windows Vista Home Premium
・Excel2007
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
Nz関数は、VBAのメンバではなく、Accessアプリケーションのメンバですので、
残念ながらExcelでは使用できません。
(下図を参照)
代替策としては、IIF関数とIsNull関数(ともにVBAのメンバ)を組み合わせるのが
簡単かと思います。
【現在】
strName = Nz(txtName.Text, "名無し")
【修正案・1】
strName = IIF(IsNull(txtName), "名無し", txtName.Text)
【修正案・2】
strName = txtName.Text & IIF(IsNull(txtName),"名無し", "")

No.2
- 回答日時:
>ExcelVBAでのNZ関数
のExcelが間違いなければ、エクセルVBAの関数でNZ関数は無いのでは。
アゥセスとちょっとセル(ACCESSではフィールドの各セル)の未入力の考えが違うような気がする。
エクセルのセルでは""で判定してます。
>ActiveXコンポーネントはオブジェクトを作成できません
2007以前でのテストですが
Sub test01()
Dim strName As String
strName = Nz(txtName.Text, "名無し")
End Sub
を実行すると、NZで「SubまたはFunctionが定義されていません」とでます。
エラーを推測している場所が違うのでは。
関係ないとは思うが、2007で変わっていることが原因ならすみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) VBAでWorkbook.addの使い方 3 2023/02/01 11:58
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- その他(コンピューター・テクノロジー) ChatGPT ExcelVBAの精度は3.5と4で違いはある? 1 2023/04/21 21:00
このQ&Aを見た人はこんなQ&Aも見ています
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
レコードが存在しなかった場合
Microsoft ASP
-
-
4
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
5
VBAで長さ0の文字列をNullに変換したい
Visual Basic(VBA)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
Accessで数値型にNULLをInsertするとエラー
その他(データベース)
-
8
Accessデータをテキスト変換する時、小数点以下の桁数が切れてしまう
Excel(エクセル)
-
9
ExcelからACCESSへ接続するとエラーになる
Excel(エクセル)
-
10
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
11
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
12
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
13
アクセスVBAのMe!と[ ]
Access(アクセス)
-
14
「#エラー」の回避
Access(アクセス)
-
15
レコードセットにnullの場合
Visual Basic(VBA)
-
16
Accessのリンクされたテーブルでリンク先ではデータを変更出来ないようにするには?
Access(アクセス)
-
17
ACCESSで400以上のフィールドがある場合の作成方法‥
その他(データベース)
-
18
[Excel]ADODBでNull変換されてしまう
Visual Basic(VBA)
-
19
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
20
VBA テキストボックスを選択状態にしたい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
テキストボックス中の文字列の...
-
VBAで Set wb = Sheets(1).Cop...
-
Excelでフィルタをかけると警告...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
エクセルのVBAの標準モジュール...
-
エクセルマクロエラー「'Cells'...
-
Letステートメントの使い方につ...
-
ある文字列が全て数字であるか...
-
findメソッドの変数について
-
CreateObjectとGetObjectの違い
-
「オブジェクト変数または With...
-
コンパイルすると「メソッドま...
-
AccessVBAで「dim dbs as datab...
-
VBScriptからDLL参照設定したい
-
オブジェクト変数の取得について
-
エクセル エラー438
-
sheetsメソッドの失敗
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
エクセルマクロエラー「'Cells'...
-
AccessVBAで「dim dbs as datab...
-
Excel VBAでWordの複数ファイル...
-
オブジェクトが見つかりません
-
CreateObjectとGetObjectの違い
-
エクセルVBAで配列内に空白デー...
-
オブジェクト変数またはWITHブ...
-
VBScriptからDLL参照設定したい
-
エクセルVBAでcode128のバー...
おすすめ情報