
同じユーザーフォーム2に2つコンボボックスがあります。
1つ目のコンボボックスは動作します。(別ブックのシート)
2つ目が動きません。(同じブックの別シート)どうすれば動作しますか?助けてください。
Private Sub UserForm_Initialize() ←1つ目のコンボボックス1
Dim wb As Workbook
Dim sh As Worksheet
Dim lastrow As Long
Const TargetBook As String = "請求.xlsm"
Dim myDesktop As String
Dim wsh As Object
Set wsh = CreateObject("Wscript.Shell")
myDesktop = wsh.SpecialFolders("Desktop")
Set wsh = Nothing
'ブック名:請求のフルパスを指定
Set wb = Workbooks.Open(myDesktop & "\" & TargetBook)
Set sh = wb.Worksheets("請求先")
lastrow = sh.Cells(sh.Rows.Count, "C").End(xlUp).Row
With ComboBox1
.List() = sh.Range("C2:C" & lastrow).Value
.Style = fmStyleDropDownList
End With
wb.Close False
'初期化処理
Worksheets("受注IMP").Activate
End Sub
Private Sub ComboBox1_Change()
Worksheets("受注IMP").Range("B2").Value = ComboBox1.Text
End Sub
Private Sub コンボ2() ← 2つ目のコンボボックス2
Dim lastrow As Integer
Dim i As Integer
lastrow = Worksheets("荷主").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
ComboBox1.AddItem Worksheets("荷主").Range("C" & i).Value
Next i
End Sub
Private Sub ComboBox2_Change()
Worksheets("受注IMP").Range("B3").Value = ComboBox2.Value
End Sub
No.3ベストアンサー
- 回答日時:
こんにちは
問題があるかも知れない箇所
Userform2---
Private Sub コンボ2呼ぶ()
'初期化処理
Worksheets("受注IMP").Activate
Call S_ComboBox2 '← 呼び出す
End Sub
これはPrivate Sub コンボ2() 当該ご質問と同じ間違いをしています
#1様の回答に重複しますが
> Private Sub コンボ2呼ぶ() と言うのはイベントプロシージャではありません(プロシージャの意味は調べてください)
従ってボタンに登録とかイベント内からCallステートメントで実行するとか・・何だかの方法で(呼び出し)実行しなければなりません
マクロを実行する
https://support.microsoft.com/ja-jp/office/%E3%8 …
Callステートメント
https://excel-ubara.com/excelvba1/EXCELVBA405.html
Userform2--- イベントプロシージャから呼ぶ
対象の標準モジュールは明示しましょう
Private Sub UserForm_Initialize()
--割愛
wb.Close False
Call Module1.S_ComboBox2
'初期化処理
Worksheets("受注IMP").Activate
End Sub
更に Module1
Sub S_ComboBox2()
Dim lastrow As Integer
Dim i As Integer
lastrow = Worksheets("荷主").Cells(Rows.Count, 3).End(xlUp).Row
For i = 2 To lastrow
UserForm2.ComboBox2.AddItem Worksheets("荷主").Range("C" & i).Value
Next i
End Sub
ーーー
なおし(想像での不具合要素)
Cells(Rows.Count, 3) Cなので特別の意図が無いのであれば 3です
>ComboBox2は動きません。
この書き方だと誰も分かりません。具体的に事象を説明しましょう
標準モジュールの使い方、Call の仕方等勉強になりました。プロシージャについては、大きな命令の括りとしか認識できておらず、使い方や書き方などもきちんと理解できていない状況です。今回も大変お世話になり、恐縮です。本当にありがとうございました。
最後に補足についてですが、何故かAIのチェックに引っかかってしまい、質問することができず苦肉の策であのような書き方になってしまいました。申し訳ありませんでした。
No.2
- 回答日時:
こんにちは
既に回答に出ている事と プラス
ComboBox1.AddItem Worksheets("荷主").Range("C" & i).Value は
コントロールのComboBox1に対して結果を出力しますが 対象はコンボ2なので
ComboBox2.AddItem Worksheets("荷主").Range("C" & i).Value
としてください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。 6 2023/03/21 16:12
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
高校生はアルバイトするべきだろうか?
-
【お題】動物のキャッチフレーズ
【お題】「百獣の王 ライオン」「実は動物界最強 カバ」は分かるけど、それはちょっとピンと来ないなと思った動物のキャッチフレーズ
-
限定しりとり
文字数6文字以上の単語でしりとりしましょう
-
はじめての旅行はどこに行きましたか?
記憶の中で1番昔の旅行先とエピソードを教えてください。
-
準・究極の選択
「年収1000万円で一生カレーライス」か「年収180万円で毎日何でも食べ放題」
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
コンボボックスにリストが表示されません・・・
Excel(エクセル)
-
エクセルVBA ユーザーフォーム 複数のコンボボックス 同一リスト
Excel(エクセル)
-
-
4
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
5
VBAコンボボックスの内容が反映されない
その他(プログラミング・Web制作)
-
6
UserForm1.Showでエラーになります。
工学
-
7
EXCEL VBAのコンボボックスに取り込むリストについて
Excel(エクセル)
-
8
Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。
Visual Basic(VBA)
-
9
ユーザーフォーム上のコンボボックスのリンク先はどうやって指定?
Excel(エクセル)
-
10
エクセルで貼り付けたオブジェクトの画像をユーザーフォームのイメージコントロールで表示する方法
Excel(エクセル)
-
11
TextBoxから数字が文字として入力される?
Visual Basic(VBA)
-
12
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
13
同じコンボボックスを二つ以上作る方法
Visual Basic(VBA)
-
14
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
15
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
16
ユーザーフォームのTextに数値を入れるとセルにエ
Excel(エクセル)
-
17
VBA テキストボックスの計算
Visual Basic(VBA)
-
18
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
19
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
-
20
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
VBA コードを実行すると画面が...
-
ワイルドカード「*」を使うとう...
-
【前回の続き続きです、ご教示...
-
VBAで別ブックのシートを指定し...
-
Excal2013のVBAマクロについて
-
Excel2007VBAファイルの表示に...
-
エクセルVBAが途中で止まります
-
VBAで別のブックにシートをコピ...
-
vbaで他のブックに転記したい。...
-
【ExcelVBA】インデックスが有...
-
EXCEL VBAでファイル名を変更し...
-
[Excel]ADODBでNull変換されて...
-
VBAで複数のブックを開かずに処...
-
ユーザーフォームの切り替えに...
-
複数のエクセルブックをひとつ...
-
マクロで最終行を取得したい
-
同フォルダ内の串刺し集計と文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
[Excel]ADODBでNull変換されて...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】インデックスが有...
-
VBAで複数のブックを開かずに処...
-
【ExcelVBA】zip圧縮されたCSV...
-
【VBA】全シートの計算式を全て...
-
エクセルのマクロを使ってメー...
-
VBS Bookを閉じるコード
-
ユーザーフォームの切り替えに...
-
Excelのマクロコードについて教...
-
Excel2007VBAファイルの表示に...
おすすめ情報
ComboBox2は動きません。どこかに不足があるのですね。
標準モジュール module1 ---
Sub S_ComboBox2()
Dim lastrow As Integer
Dim i As Integer
lastrow = Worksheets("荷主").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
UserForm2.ComboBox2.AddItem Worksheets("荷主").Range("C" & i).Value
Next i
End Sub
Userform2---
Private Sub コンボ2呼ぶ()
'初期化処理
Worksheets("受注IMP").Activate
Call S_ComboBox2 '← 呼び出す
End Sub