こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ExcelVBAコンボボックスの扱い

こんにちは、いつもお世話になっております。

(1)Excel(あるシステムを起動すると自動で起動するExcel)ファイルがあります。
(2)コンボボックスでプルダウンで該当部署を選択、更新ボタンを押すと
 そのチームのデータが反映されます。
(3)(2)のデータを加工したいので、シートごと新規ファイルにコピーします。
 別名保存します。

という一連の作業があります。

上記のマクロを作りたかったのですが、自動記録では(1)と(2)が
記録されず、どのように作ればよいのかわかりませんでした。
(3)については、マクロ作成済みです。

毎月複数回数上記の作業を20部署分作業しなくてはならず、
なんとか効率化を図りたく、コンボボックスなどをマクロで自動で
作業する方法がありましたらご教授いただければ幸いです。

大変申し訳ありませんが宜しくお願い致します。

投稿日時 - 2017-09-11 13:35:32

QNo.9373395

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

こういう質問でしょうか
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

投稿日時 - 2017-09-13 17:26:27

ANo.1

(1)職場に絡んだ課題は、秘密が出ないようにするため、抽象的なぼやけた質問になるケースが多いようだ。本件もそれを強く感じる。
もう少し具体的に内容を書かないと、回答できないと思う。質問者が回答コードをコピペしたいレベルなら、なおさらだろう。回答で、一言のキーワードの説明で、残りは「パッと」わかるレベルではないだろう。
(2)職場のシステムに絡んだ課題なら、会社で権限のある者が、いじくるべき、という決めがあるはず。質問者はマクロの記録で勉強するレベルらしいから、システム担当者ではないのだろう。会社の現在のシステムをいじくることは許されていないはず。改善のプログラムのコードが判るかどうかとは別問題。
代価を払って、会社の正統な関係業者に頼むべきことだろう。
 そもそも、現状のシステムを起動して、その、動いているある段階から、追加処理をするため、割って入ろうというのは原理的に難しいはず。現状システムがエクセル・アクセスなどのVBAなどのシステムとは限らないはず。
バッチ処理の一部なら改善しても影響はやや少なかろうが。
やりたいことに関して
1.自動でVBAでコンボボックスを作りたい
2.項目(アイテム)はどういうところを参照するのか
これもVBAで自動でセットするのだろう。
3.アイテムの選択をしたときのアイテムのVBAで取得方法
4.>データを加工したいので、シートごと新規ファイルにコピーします。
 別名保存します。ー>「何々をどこへ」があいまいで、よくわからない。
ブック名かシート名がコンボのアイテムにあり、単一か複数個を選択させるのか。
5.>20部署分作業しなくてはならずー>1度に20シートの部署を指定すれば、あとの処理はできるのか.MultiSelectの問題。
6.>プルダウンで該当部署を選択、更新ボタンを押すと、そのチームのデータが反映されます。抽象的な表現でよくい分からない。
「何を」「何処へ」などの部分を、エクセルの言葉でもって表現すること。
処理の初めの段階から、箇条書きにして、ステップを分けて、From-Toなどを具体的に、書いて説明したら。
7.VBAのイベントを使いたい(使うことになる)ようだが、この考えに質問者は、慣れているか。
ーー
普通にVBAで解説が多いのは
・コンボの(動的)作成(シート上かユーザーフォーム上か)
・選択したもののアイテムの取得
ならWEBに記事がたくさんある。
・選択後のVBAの処理は本質問に、説明がなく、言及不能。

投稿日時 - 2017-09-11 18:33:37

あなたにオススメの質問