アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel VBAについての質問です。

現在UserForm1とUserForm2の二つを用意しておりUserForm1にはコマンドボタンが10個、
UserForm2にはリストボックスが一個配置されています。

やりたいことは…
UserForm1のコマンドボタンを押しそのコマンドボタン名をEXCELのSheet1からFind関数を使用して検索し、
その検索結果の列をUserForm2のリストボックスに表示させるといったものを作成していますが
どうしてもコマンドボタンの名前(Caption)を取得することが出来ません。

どのように取得したらよいのでしょうか?

検索イメージは
.Range("A1:V1").Find("CommandButton.name").Column
こんな感じでしょうか?


よろしくお願い致します。

A 回答 (4件)

コマンドボタンのオブジェクト名がCommandButton1なら


CommandButton1.Caption
で取得できます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

無事に取得できました。

この取得出来た内容をUserForm1で変数に入れ、UserForm2で使用したいのですが
そんなことは可能なのでしょうか?
現在Publicを使用して宣言しておりますが上手く出来ません。

お礼日時:2017/08/23 19:18

>この取得出来た内容をUserForm1で変数に入れ、UserForm2で使用したいのですが


>そんなことは可能なのでしょうか?
>現在Publicを使用して宣言しておりますが上手く出来ません。
そのPublicを使用して宣言したものは、標準モジュールでおこなってますか。
標準モジュール中にPublicを使用して宣言した変数を格納してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

間違っていました…
UserForm1のモジュールに書いていました。
標準モジュールに書くことにより無事に解決しました。

本当に助かりました。
ありがとうございました。

お礼日時:2017/08/23 19:47

>UserForm1のコマンドボタンを押しそのコマンドボタン名をEXCELのSheet1からFind関数を使用して検索し、



この意味がよく分からないですね。コマンドボタンを、なぜSheet1 から探すのか、コマンドポタン名などは、Sheet1 にはありません。Userform 上のことは、UserForm 上で済みます。
それに列ってなんでしょうか?

コマンドボタンで何かを処理しているのでしょう?
そのコマンドボタンを処理した列でも探したいということでしょうか?

Name(オブジェクトの名前)やCaption とか、そういう問題は二の次だと思います。
「Excel VBAについて」の回答画像3
    • good
    • 0

こんにちは



>どうしてもコマンドボタンの名前(Caption)を取得することが出来ません。
名前(name)とcaptionを混同していませんか?

名前はボタンのオブジェクト名を意味していて、通常デフォルトでCommandButton1、CommandButton2・・のようにつけられてゆきます。(変更することは可能です)
一方で、captionはフォームが表示された時に、ボタン内に表示されているテキストを意味していてオブジェクト名とは別のものです。。
(ユーザフォームのエディター画面で、プロパティを表示すればわかると思います→添付図)

名前を取得する必要は、実際にはほとんどないと思いますが、
 CommandButton1.Name
で、Captionは
 CommandButton1.Caption
などで取得可能です。
「Excel VBAについて」の回答画像2
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

確かに混同しておりました。
詳しく説明していただき助かりました。

またこの取得出来た内容をUserForm1で変数に入れ、UserForm2で使用したいのですが
そんなことは可能なのでしょうか?
現在Publicを使用して宣言しておりますが上手く出来ません。

お礼日時:2017/08/23 19:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!