ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

EXCEL VBAコミュのユーザフォームのデータの表示先セルについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加

はじめまして。
VBA初心者です。

質問ですが、
まずExcelのsheet上にいくつかコマンドボタンを置き、
【例】
[コマンドボタン1]
[コマンドボタン2]
[コマンドボタン3]




それをクリックしたらユーザーフォームが表示され、

ユーザーフォーム内にはコンボボックスが1つあって、1つ選択しOKボタンを押すようにしたいのですが、

選択したものを表示するセルの指定方法が分かりません。

例えば
[コマンドボタン1]をクリックし、[ユーザーフォーム]を起動させた場合は選択したものをセルA1に表示させたい。
[コマンドボタン2]をクリックした際は、セルA2に表示させたい。
[コマンドボタン3]をクリックした際は、セルA3に表示させたい。

と思っています。

その場合、[ユーザーフォーム]のOKボタンには、どのような指示をすればいいのでしょうか??

尚、[ユーザーフォーム]は同一のものを使用したいです。

可能でしょうか?

コメント(13)

> モンテ・クリストさん
ありがとうございますグッド(上向き矢印)exclamation ×2
私も少しこの方法試していて…
コマンドボタンの変数ってどぅやって設定するのかわからないんですげっそり
他の方法あるんじゃないかとかゴチャゴチャになってしまって涙
でも同じ考え持ってる人がいて少し安心しましたexclamation ×2
も少し頑張ってみようと思いますもうやだ〜(悲しい顔)
パブリック変数をどこで宣言していますか?
もし、シートモジュールで宣言しているのであれば
シートモジュールではなく、標準モジュールで宣言すれば
問題なく出来ると思いますよ

もしくは、どうしてもシートモジュールで宣言してやりたいなら
Worksheets("Sheet1").行変数
Sheet1.行変数
というようにすれば、シートモジュール[Sheet1 (Sheet1)]で宣言した
パブリック変数の行変数を呼び出せたはずです

が、基本的には標準モジュールで宣言するほうが良いと思います
>マリ男さん
ありがとうございます!!
・・・がしかし、標準モジュールでどのような宣言をして良いのかがわかりません;
ド初級者なもので。。。
>どのような宣言をして良いのか
宣言の仕方はネット検索などをしても見つかると思いますが
そういったことをされていますか?
>マリ男さん
本を読んだり、ネットで色々調べてもよく分からなかったので、書き込みさせていただきました。
今もずっとネットで調べているところです。
色々な情報を元に色々試してはいるのですが、私の力量では難しいようです。
全く知らない所から勉強し、いままで手探りで作成してきました。
しかし、ここへきて何日も行き詰ってしまい、自分1人では解決するのは難しいと感じ、何かいい方法はないかと書き込みさせて頂いた次第です。
とりあえず
標準モジュールでパブリック変数 行変数をVariant型で宣言し
同一プロジェクト内の全てのモジュールで有効になるようにしておく
CommandButton1がClickされると行変数に 1 が代入され、UserForm1をShowする
UserForm1が読み込まれたあと、UserForm1が表示される前に
行変数をMsgBoxで表示するというコード

[標準モジュール]
Public 行変数 As Variant

[シートモジュール]
Private Sub CommandButton1_Click()
行変数 = 1
UserForm1.Show
End Sub

[フォームモジュール]
Private Sub UserForm_Initialize()
MsgBox 行変数
End Sub
> マリ男さん
ありがとうございましたexclamation ×2exclamation ×2exclamation ×2
無事プログラミングすることが出来ましたぴかぴか(新しい)ぴかぴか(新しい)
一人では絶対出来なかったとおもいますほっとした顔
ありがとうございました手(グー)手(グー)手(グー)
> モンテ・クリストさん
よかったですぴかぴか(新しい)
ありがとうございましたわーい(嬉しい顔)

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

EXCEL VBA 更新情報

EXCEL VBAのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。