[[20140723103552]] 『ユーザーネームを変数にして呼び出し』(にも) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ユーザーネームを変数にして呼び出し』(にも)

始めまして!

現在、ユーザーフォームを15個作ってアンケートを作成しており、以下のことをしたいと思っています。

sheet1 I15 リスト機能にてユーザーフォームの名前を選択すると
選択したものと同じ名前のユーザーフォームが機動。

  Dim myForm As String
    myForm = .Range("I15")
    UserForms.Add(myForm).Show

こんな感じでコードを書いて見ましたが、参照が不正と出てしまいました。
何かいい方法はないでしょうか?

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 .Range("I15") の上にある With 句には何が書かれているのでしょうか?
(Mook) 2014/07/23(水) 10:56

Mookさま

ええと、With句を特に何も書いてません。
何か必要でしょうか?
(にも) 2014/07/23(水) 10:59


 .Range("I5")のように 「.」をつける書き方は、With文の中で使います。

 With Sheets("Sheet1")
     myForm = .Range("I15")
 End with

 Withを使わないのであれば、単に Range("I5") でいいのですが、
 Sheets("Sheet1").Range("I5")  のようにシートを指定するのがいいと思います。

(天邪鬼) 2014/07/23(水) 11:19


天邪鬼様

そうだったのですね!ありがとうございました。

ちなみにすみません。上記のようにmyFormを修正したあとで
動かしてみると、今度は下記の部分に『オブジェクトが必要です』という
エラーメッセージが出てしまいます。
→UserForms.Add(myForm).Show

リスト内容とユーザーフォームのプロパティで見るオブジェクト名は
完全に一致しております。
なにか問題があるのでしょうか?あるいは、コマンドボタンなどを設定しないと
呼び出せないのでしょうか?

(にも) 2014/07/23(水) 11:32


 こちらでテストしてみると上のコードで呼び出せますね。
 ユーザーフォームのオブジェクト名かセルの値の後ろに空白が入っていたりしませんか?

(天邪鬼) 2014/07/23(水) 11:58


天邪鬼さま

半角・全角の違いだったようです。ありがとうございました!
(にも) 2014/07/23(水) 13:05


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.