• ベストアンサー

ユーザーフォームのコントロールの初期値

ユーザーフォームに設置したテキストボックスをTypeNameなどで調べたところ エクセルでは「""」でstring型で アクセスではNullなのでしょうか? それとも私が変な設定をしてしまったのでしょうか? エクセルがなぜ初期の状態からNullではなく「""」が入っているのか不思議です。

  • rieury
  • お礼率100% (526/526)

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> それとも私が変な設定をしてしまったのでしょうか? こちらの環境(Access2003&Excel2003&WinXP)で確認しましたが、 同様の状況でした。 (Excelのユーザーフォームでは「""」、Accessのフォームでは  「Null」が、それぞれテキストボックスの初期値) 以下、推測になりますが・・・ それぞれのアプリケーションでの主なデータ保存先となるテーブルと ワークシートでは、  Accessのフィールドの初期値(既定値を指定しない場合)は「Null」  Excelのセルの初期値は「""」 となっています。 各アプリケーションでフォーム(ユーザーフォーム)を使用する際には、 それぞれ保存されているデータと連携をとることは多いと思いますので、 フォームのテキストボックスの初期値は、それぞれフィールドやセルの 初期値に合わせている、ということではないでしょうか。 (それぞれの初期値が異なると、「フォームの入力値をテーブル/シートに  反映」という操作を行う場合には、フォームを開いたときなどに  わざわざVBA等での初期化が必要になってしまう、と思いますので)

rieury
質問者

お礼

ありがとうございます。 私も試しに何も入力されていないセルにVBAの TypeNameで調べてみたところstring型でした。 納得です。

関連するQ&A

  • ユーザーフォームについて

    エクセル2002です。 ユーザーフォーム内のテキストボックスを使用して、 (1)A1のセルに1と入力されている状態でマクロを起動した場合、 (2)ユーザーフォーム内のテキストボックスには2と表示される (3)ユーザーフォーム内のボタンを押すと、A2のセルに2と入力される。 このような流れで、A列のデータ最終行に番号をふっていきたいです。 (A列のデータ最終行がA30なら、A31に31と番号をふる) ユーザーフォームのテキストボックスとボタンは作ってあるのですが、 それぞれに入れるコードを教えていただけないでしょうか。 よろしくお願いします。

  • ユーザーフォームに入力したデータを保持する方法

    VBA初心者です。いろいろ調べて徐々に進められていますが、、 こちらもなかなか見つからなかったので質問させていただきます。 現在、ユーザーフォームにテキストボックスをいくつか配置し、 さまざまな計算などをさせて、最終的にエクセルシートに反映させる。 といったことが出来るようにプログラムをしています。 ユーザーフォームのテキストボックスに一度入力したものを、 エクセルシートを閉じるまで残すことはできるでしょうか? 一度、×ボタンで閉じてしまうと、次に呼び出したときには初期の状態になってしまいます。 ユーザーフォームに入力し、エクセルシートで確認、 その後 再度ユーザーフォーム呼び出して修正する といった作業をするために、一度入力したものが消えないようにしたいです。 よろしくお願いいたします。

  • セルの値をユーザーフォームのテキストボックスに

    エクセルの質問です。 シート1にボタンを設置してユーザーフォームを呼び出すようにしています。 ユーザーフォームにテキストボックスを用意してて、シート1のセル(A1)に記入された数字を、ボタンを押した時に立ち上がったユーザーフォームのテキストボックスに表示されるようにしたいのですが、どうしたらいいのでしょうか?

  • フォーム上にある、オブジェクトの初期化

    行いたい処理は次のような処理です。 1.フォームに”クリア”ボタンを配置 2.1が押された時、フォーム上のテキストボックス、コンボボックス、チェ ックボックスが初期化される そこで、質問です。フォーム上にあるオブジェクトは60近くあるので1つ1つのオブジェクトに =Null、=""で初期化するのは大変なので、一括で初期化する方法を探しています。 どなかた、知っている方がいらっしゃったら、教えていただきたいと思います。お願いいたします。

  • エクセル ユーザーフォーム

    エクセルのユーザーフォームでコマンドボタンを使ってテンキーを作りたいのですが、入力するときにテキストボックス1、テキストボックス2の切り替え方がわからなく困っています。 2つのテキストボックスに対応させるにはどのようにコードを書いたら良いでしょうか。 よろしくお願いします。

  • エクセルのユーザーフォームについて

    エクセルマクロのユーザーフォームのテキストボックスに セルの値を表示する方法で質問です。 ユーザーフォームを表示するとその時点での セルの値はテキストボックスに表示されているのですが ユーザーフォームを表示したまま 別のブックのセルを選んだ際に そのセルの内容がテキストボックスに表示されるようにしたいです。 ボタンや、なにかをするわけではなく 自分で任意のセルを選択したら、という事です。 ユーザーフォームには selectionchange などがないのでどうすれば良いかわかりません。 宜しくお願いします。

  • ユーザーフォームのテキスト印刷

    ユーザーフォームでテキストだけ印刷させる方法はありますか? ユーザーフォームに何箇所か入力するリストボックス、テキストボックスなどがあり、すべてを入力した後、最後にエクセルに登録するようなフォームなのですが、登録する前にそれらを印刷できればと思います。 登録したエクセルを印刷してもいいんですが、他の情報とかがあるのでユーザーフォームだけを印刷したいです。また、ユーザーフォームをそのまま印刷するとよけいな装飾なども印刷されトナーがもったいないのでそれもしたくはありません。 宜しくお願いします。

  • ユーザーフォームに入力値を活用する方法

    エクセルのマクロについて質問です。 (1)ユーザーフォームのテキストボックスに数字入力 (2)「アクティブセル」から「アクティブセルの列数+(入力した数字-1)」の列までのセルに背景色を付ける というようなマクロを作りたいです。 ユーザーフォームは設置できたのですがテキストボックスに入力した数字をセル選択に関連付ける方法がよくわかりません。 詳しい方がいらっしゃいましたらご教授いただければありがたいです。 例:アクティブセルが「G6」でテキストボックスには「3」と 入力した場合には G6、H6、I6の背景に色が付く

  • エクセルのユーザーフォームに関する質問です。

    エクセルのユーザーフォームに関する質問です。 テキストボックスへの入力なのですが、初期値でfmTextAlignleftで左寄せされている訳ですが、何かの文字列を入力すると微妙に左側に隙間があるような気がします。 フォーム画面で少しスペースを節約したいのでこの微妙な隙間を解消したいと思います。 何か方法がないかご教授願いたいと思います。

  • Excel ユーザーフォームからの転記

    Excel ユーザーフォームからの転記 はじめまして、ご教授願います。 Exceiのユーザーフォーム内のテキストボックスのデータをシートに転記したいのですが、 教えてください。 テキストボックス内の改行を含んだデータを改行で区切って、別々のセル(縦に順に)に転記 したいのですが、方法がわかりません。 VBAでどのように書けばよろしいのでしょうか。 ご教授よろしくお願いします。

専門家に質問してみよう