Page 347 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼オブジェクト変数の設定 みんと 02/11/15(金) 8:57 ┗Re:オブジェクト変数の設定 つん 02/11/15(金) 9:22 ┗Re:オブジェクト変数の設定 みんと 02/11/15(金) 9:43 ┗オートシェイプ つん 02/11/15(金) 10:03 ┗なるほどっ! みんと 02/11/15(金) 10:26 ─────────────────────────────────────── ■題名 : オブジェクト変数の設定 ■名前 : みんと ■日付 : 02/11/15(金) 8:57 -------------------------------------------------------------------------
いつもお世話になってますです。 もしかして,ものすごく単純なことなのかもしれませんが・・・。 オブジェクト変数を使って,テキストボックスを指定しようと思っている のですが,型が違う(エラー13)がでて,怒られちゃいます。 Dim TxtCurr As TextBox Set TxtCurr = TextBox1 1行目をobjectとかcontrol型にするとエラーにはなりません。 MSFormsを使う場合もあるのかもしれませんが,いまいち分かってないです。 2行目のsetでエラーとなりますが,UserForm1.TextBox1としても,変化なし です。(当然か) コンボボックスでは同様の処理ができるんですけど,なぜかテキストボックス ではできません。 どなたか,よろしくご教授ください。VBAは6.0です。 |
みんと さん、おはようございます。 >Dim TxtCurr As TextBox >Set TxtCurr = TextBox1 Dim TxtCurr As MSForms.TextBox ってしてみたらどうですか? こちらで、 Private TxtCurr As MSForms.TextBox Private Sub CommandButton1_Click() MsgBox TxtCurr.Text End Sub Private Sub UserForm_Initialize() Set TxtCurr = TextBox1 End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Set TxtCurr = Nothing End Sub としてテストしてみたら、ちゃんと動きましたよん♪ |
▼つん さん: おはようございます! 朝早くから,ありがとうございます。 Dim TxtCurr As MSForms.TextBox でチャレンジしてみました。 ご指摘のように,ちゃんと動きます♪ ありがとうございます。 MSFormsを使いかたが,いまいち分かってなかったので,助かりましたん。 とりあえず,これでいってみますです。 でも, Dim TxtCurr As TextBox だと,ナニがいけないんでしょう? MSFormsのときとナニが違うの? スッキリしない〜〜! 教えて〜〜〜!(笑) |
>Dim TxtCurr As TextBox >だと,ナニがいけないんでしょう? MSFormsのときとナニが違うの? >スッキリしない〜〜! 教えて〜〜〜!(笑) えっとねー・・・TextBoxだけだと、オートシェイプのTextBoxのことになると思うねんけど・・・ 試しに、 オートシェープのテキストボックスつくって、適当な言葉いれて、 以下実行してみたら、 Sub test() Dim test As TextBox Set test = Selection MsgBox test.Text Set test = Nothing End Sub OKでした。 そういや、むかし私もこれで悩んだことがあったような気がします。 記憶はおぼろ〜なんやけど・・・ |
▼つん さん: たびたび,ありがとうございます。 ん〜〜〜,そうだったのか。>オートシェイプのテキストボックス なっとくです。 コンボボックスとかは,オートシェイブと間違えることがないから, ダイレクトに定義してもおっけーってことですね。 サンプルコードも試してみましたん♪ あ,テキストボックスを選択状態にしとかないとエラーに なっちゃうんですね。(笑) ありがとうございましたっ! あー,スッキリしたっ!!! |