0

VBAを使い始めて3日目です。ここまでは良かったのですが、現在の問題はヘッド スクラッチャーです。

3 つのドロップダウン (役職、エリア、部門) を持つメイン シート (シート A) があります。ユーザーがドロップダウンで選択すると、2 番目のシート (シート B) は 3 番目のシート (シート C) に含まれるデータを入力する必要があります。

シート C は次のようになります。

(画像貼り付け不可)

シート A の 3 つのドロップダウンで、列 B、C、D (役職、エリア、部門) を検索する必要があります。適切な行が特定されたら、列 F、G、H の「プログラム」(プログラムはジョブの横に水平にリストされます) からの情報をシート B に水平に入力します。

私には、これは非常に難しいように思えます。しかし、うまくいけば、VBA の第一人者が私が間違っていることを証明してくれるでしょう。

4

1 に答える 1

0

このアプローチを試すことができます。


ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力


そして、コードは


Private Sub ComboBox3_Change()

With Worksheets("Sheet3")
    .AutoFilterMode = False
    .Range("B:D").AutoFilter Field:=1, Criteria1:=ComboBox1.Value, Operator:=xlAnd
    .Range("B:D").AutoFilter Field:=2, Criteria1:=ComboBox2.Value, Operator:=xlAnd
    .Range("B:D").AutoFilter Field:=3, Criteria1:=ComboBox3.Value, Operator:=xlAnd
End With

With Worksheets("Sheet3")
    If rowNumber = 1 Then
        MsgBox "No Record with those details."
    Else
        rowNumber = .Range("F65536").End(xlUp).Row
        Worksheets("Sheet3").Range("F" & rowNumber & ":H" & rowNumber).Copy
        Worksheets("Sheet2").Range("A2").PasteSpecial
    End If
End With

サブ終了


これがあなたを助けることを願っています。

于 2013-03-01T14:15:43.543 に答える