質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

439閲覧

ユーザーフォームのボタンを押下して、ワークシートのボタンを自動的に押下して、その時の処理を実行させる

sin-zo

総合スコア12

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/01/30 05:45

ワークシートのテキストボックスに、バーコードリーダーで読む込んだコードを認識して、データベースから商品を検索します。
その結果を、ユーザーフォームの表示させて、そのフォームにある「呼出」ボタンを押下することで、ワークシートに用意されている、商品の詳細を表示するテキストボックスに、データベースの内容を展開したいのですが、既に、ワークシートには、「呼出」ボタンがあり、商品の商品名で検索した結果を、リストボックスへ表示させ、そのボックスで選択された商品を先ほどの詳細表示のテキストボックスに展開するための「呼出」用として、「呼出」ボタンを使用しています。

このワークシートの「呼出」ボタンを、ユーザーフォームの「呼出」ボタンを連動させたいのですが、可能でしょうか?

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ttyp03さんのおっしゃるとおりですが補足です。
ワークシート上のルーチンを呼び出すときの注意点。

(1)ワークシート上でボタンに割りつけられたルーチンは、
通常 Privateになっているので Publicに変更する。

【例】
Private Sub CommandButton1_Click()

Public Sub CommandButton_Click()

(2)ユーザフォーム側で呼び出すとき、ワークシートはWorkSheet型にしない。

【×不可の例】
Dim SH As WorkSheet: Set SH = ThisWorkbook.Sheets("Sheet1")
Call SH.CommandButton1_Click

オブジェクト型にするか直接呼び出す

【例】
Dim Obj as Object: Set Obj= ThisWorkbook.Sheets("Sheet1")
Call Obj.CommandButton1_Click

または Call ThisWorkbook.Sheets("Sheet1").CommandButton1_Click

投稿2018/01/30 07:42

h.horikoshi

総合スコア505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sin-zo

2018/02/01 09:48

回答が遅くなり申し訳ありません ttyp03さんの回答から、もっと詳しい回答をありがとうございます 大変よく理解でき、教えて頂いたようにプログラムを組みましたら、思ったような動きがでました
guest

0

ワークシートの呼び出しボタンに割り付けている関数が標準モジュールにあるのですよね?
それをユーザーフォームのボタンクリックイベントから呼び出すだけではないのでしょうか?

投稿2018/01/30 06:25

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sin-zo

2018/02/01 09:48

返事が遅くなり申し訳ありません なるほど、そうすればいいのですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問