![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
マクロ初心者です。(2003使用)
ユーザーフォーム(Sheet2にでます)に、コンボボックス1つとコマンドボックス1つを置きました。コマンドボックスは、Sheet1のC2から最終行までを表示させたいのですが、今わからないのでC2000と大きな数字をいれています。
*最終行の表示の仕方をどなたか教えていただけませんでしょうか?
[Sheet1]→このデータをもとにしています。
担当課客先管理番号品名注文数量出荷数量
A岡田さん1324りんご3020
B山田さん1554みかん25070
C岡田さん7634なし4025
B金子さん4653みかん7570
A金子さん6675りんご17060
C杉浦さん7789りんご200120
・・・
このような表が300件くらいあります(日々行数が変動します)
↓こんな感じでやってみて、いちおう動きますが、
2000件分コンボボックスで出てしまいます。
Private Sub CommandButton1_Click()
Dim lRow As Long
With Worksheets("Sheet2")
lRow = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A" & lRow + 1).Value = ComboBox1.Value
End With
End Sub
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Sheet1! C2:C2000" ←2000は最終行取得がわからなかったから、大きい数字をいれました。ここを教えてほしいです。
ComboBox1.ListIndex = -1
ComboBox1.SetFocus
End Sub
どなたか教えてください。
よろしくお願いします。
No.4
- 回答日時:
>コンボボックス1つとコマンドボックス1
コンボボックス1つとコマンドボタン1つでは。
リンクさせるアイテム列の最終行を知るコードだけの問題だよ。
VBAの回答にほんとに良く出てくるもの。
>ユーザーフォームにコンボを貼り付ける場合とシートに貼り付ける場合と在る。シートの場合は
Sub test01()
d = Range("A65536").End(xlUp).Row
Worksheets("sheet1").ComboBox1.ListFillRange = "a1:A" & d
End Sub
本件はフォーム上らしいが、始めに明記すること。
ーー
300行もコンボに出して、使い物になる??
良く考えて。
No.3
- 回答日時:
こんばんは、参考に
Private Sub UserForm_Initialize()
With Worksheets("Sheet1")
'Sheet1のC2からC列の最終行のアドレスを求めRowSourceに設定
Me.ComboBox1.RowSource = .Range("C2", .Cells(Rows.Count, "C").End(xlUp)).Address(External:=True)
End With
ComboBox1.ListIndex = -1
ComboBox1.SetFocus
End Sub
Private Sub CommandButton1_Click()
Dim lRow As Long
With Worksheets("Sheet2").Cells(Rows.Count, "A").End(xlUp)
'Sheet2のA列の最終行を求め1つ下(Offset(1))のセルにComboBox1の値を転記
.Offset(1).Value = Me.ComboBox1.Value
End With
End Sub
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_16.png?8acaa2e)
No.2
- 回答日時:
こんばんは。
コマンドボタンのクリックイベントで最終行の取得を行っているようですが・・・?
あなたが書いたコードではないのですか?
lRow = .Range("A" & Rows.Count).End(xlUp).Row
が最終行の取得です。(この場合はA列です。)
コンボボックスの方はC列なので、C列になるように直せばいいだけです。
後はこの変数を使えばいいので、ComboBox1.RowSource = "Sheet1! C2:C" & lRow とすればいいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) VBA リスト表示していますが 3 2023/05/18 12:12
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
6
EXCEL VBA コンボボックス、テキストボックスが未入力のときメッセージを表示する方法
Excel(エクセル)
-
7
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
8
VBA コンボボックスとテキストボックスを連結させたい
Visual Basic(VBA)
-
9
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
10
VBAでシートからコンボボックスにデータを設定する方法
Visual Basic(VBA)
-
11
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
12
エクセルVBAでコンボボックスの非表示について
iOS
-
13
複数のテキストボックスに同じ処理をしたい
Visual Basic(VBA)
-
14
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
15
VBA コンボボックスで選んだ値を取得するには
その他(Microsoft Office)
-
16
エクセルVBA ListBox最初と最後を選択
Excel(エクセル)
-
17
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
18
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
19
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
-
20
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトで表示が多...
-
バッチファイルでキー操作を行う。
-
コマンドプロンプトが実行中か...
-
ttlで戻り値を取得する方法
-
VBユーザーフォームで時間入力
-
スレッド処理内での終了結果を...
-
テキストボックスが未入力のと...
-
Tera Term Proに関する質問です。
-
VBからExcelコマンドの「ソルバ...
-
HTAで n秒間 Sleepする方法は?
-
Pythonのターミナルをクリアし...
-
dosバッチ起動後、画面を閉じな...
-
EEPROMのデータの初期化について
-
【Teratermマクロ】文字列の一...
-
Office365のexcel(Mac使用)直前...
-
コマンドについて
-
ディスクの空き容量を取得する...
-
VBA でshell関数を使ってコマン...
-
tcl/tkで標準出力に出される値...
-
文字の点滅はどうやるのですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルでキー操作を行う。
-
コマンドプロンプトで表示が多...
-
コマンドプロンプトが実行中か...
-
ttlで戻り値を取得する方法
-
VBユーザーフォームで時間入力
-
Tera Term Proに関する質問です。
-
TEXの表の位置が・・・
-
EEPROMのデータの初期化について
-
別のユーザーフォームのコマン...
-
PowerShell実行結果をデスクト...
-
コンボボックス(最終行取得)
-
コマンドキーがないんですけど...
-
コマンドプロンプトですべてのU...
-
RTX1100の削除コマンド
-
dosバッチ起動後、画面を閉じな...
-
ディスクの空き容量を取得する...
-
文字の点滅はどうやるのですか?
-
ルーターにつながっている全て...
-
makeコマンドのエラー
-
UDP通信での受信方法について
おすすめ情報