- 締切済み
ExcelVBAコンボボックスの扱い
こんにちは、いつもお世話になっております。 (1)Excel(あるシステムを起動すると自動で起動するExcel)ファイルがあります。 (2)コンボボックスでプルダウンで該当部署を選択、更新ボタンを押すと そのチームのデータが反映されます。 (3)(2)のデータを加工したいので、シートごと新規ファイルにコピーします。 別名保存します。 という一連の作業があります。 上記のマクロを作りたかったのですが、自動記録では(1)と(2)が 記録されず、どのように作ればよいのかわかりませんでした。 (3)については、マクロ作成済みです。 毎月複数回数上記の作業を20部署分作業しなくてはならず、 なんとか効率化を図りたく、コンボボックスなどをマクロで自動で 作業する方法がありましたらご教授いただければ幸いです。 大変申し訳ありませんが宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nebikitorikai
- ベストアンサー率100% (1/1)
こういう質問でしょうか Sub tesuto() Sheets(" ").Select Dim lRow As Long, i As Long Dim ListNo As Long ListNo = ComboBox1.ListIndex If ListNo < 0 Then MsgBox "いずれかの行を選択してください" Exit Sub End If With Worksheets(" ") lRow = .Range("A" & Rows.Count).End(xlUp).Row For i = 1 To 2 .Cells(lRow + 1, i + '該当セル番号を入れる).Value = ComboBox1.List(ListNo, i) Next i End With End Sub Private Sub UserForm_initialize() Dim lRow As Long Dim i As Long, myCnt As Long Dim myData With Worksheets("規定値") ’選択するシート名 lRow = .Range("B" & Rows.Count).End(xlUp).Row myData = .Range("B2:D" & lRow).Value End With End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
(1)職場に絡んだ課題は、秘密が出ないようにするため、抽象的なぼやけた質問になるケースが多いようだ。本件もそれを強く感じる。 もう少し具体的に内容を書かないと、回答できないと思う。質問者が回答コードをコピペしたいレベルなら、なおさらだろう。回答で、一言のキーワードの説明で、残りは「パッと」わかるレベルではないだろう。 (2)職場のシステムに絡んだ課題なら、会社で権限のある者が、いじくるべき、という決めがあるはず。質問者はマクロの記録で勉強するレベルらしいから、システム担当者ではないのだろう。会社の現在のシステムをいじくることは許されていないはず。改善のプログラムのコードが判るかどうかとは別問題。 代価を払って、会社の正統な関係業者に頼むべきことだろう。 そもそも、現状のシステムを起動して、その、動いているある段階から、追加処理をするため、割って入ろうというのは原理的に難しいはず。現状システムがエクセル・アクセスなどのVBAなどのシステムとは限らないはず。 バッチ処理の一部なら改善しても影響はやや少なかろうが。 やりたいことに関して 1.自動でVBAでコンボボックスを作りたい 2.項目(アイテム)はどういうところを参照するのか これもVBAで自動でセットするのだろう。 3.アイテムの選択をしたときのアイテムのVBAで取得方法 4.>データを加工したいので、シートごと新規ファイルにコピーします。 別名保存します。ー>「何々をどこへ」があいまいで、よくわからない。 ブック名かシート名がコンボのアイテムにあり、単一か複数個を選択させるのか。 5.>20部署分作業しなくてはならずー>1度に20シートの部署を指定すれば、あとの処理はできるのか.MultiSelectの問題。 6.>プルダウンで該当部署を選択、更新ボタンを押すと、そのチームのデータが反映されます。抽象的な表現でよくい分からない。 「何を」「何処へ」などの部分を、エクセルの言葉でもって表現すること。 処理の初めの段階から、箇条書きにして、ステップを分けて、From-Toなどを具体的に、書いて説明したら。 7.VBAのイベントを使いたい(使うことになる)ようだが、この考えに質問者は、慣れているか。 ーー 普通にVBAで解説が多いのは ・コンボの(動的)作成(シート上かユーザーフォーム上か) ・選択したもののアイテムの取得 ならWEBに記事がたくさんある。 ・選択後のVBAの処理は本質問に、説明がなく、言及不能。