Динамические выпадающие списки Excel на основе предыдущего выбора - PullRequest
0 голосов
/ 04 февраля 2019

Добрый день,

Я мог только найти примеры, где таблицы довольно просты, а данные минимальны.Я сижу с 36 марками и до 3 072 вариантов по приведенным ниже данным, в которых мне нужно разобраться.

Ниже столбцы от A до E - это отрывок моих данных, от столбцов G до I,выбор мне нужно сделать.Чтобы объяснить.

Цитата

Col G: Должен быть выпадающий список со значениями из Col C (что легко и уже сделано)

Цитата

Col H: Если я сейчас выберу Abarth в Col G, я хочу, чтобы только 500/695 или 124 отображались в выпадающем списке, где я выберу 124

Blockquote

Col I: Похожий на Col H, теперь в выпадающем списке должны отображаться только связанные с Abarth 124 элементы

enter image description here

1 Ответ

0 голосов
/ 04 февраля 2019

РЕШИТЬ!Я написал макрос для решения следующим образом:

Sub SelectModel()
'
' SelecModel Macro
'

'
    ActiveCell.Select

'   Save the active cell to use later
    Set myActiveCell = ActiveCell
    Set myActiveWorksheet = ActiveSheet
    Set myActiveWorkbook = ActiveWorkbook

    ActiveCell.Copy Destination:=Sheets("2018MMCodes").Range("AU1")

    Sheets("2018MMCodes").Select
    If (ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode) Or ActiveSheet.FilterMode Then
        ActiveSheet.ShowAllData
    End If
    Columns("AV:AX").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Selections").Select
    Range("A1").Select
    ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveSheet.Range("$A$1:$C$3257").RemoveDuplicates Columns:=2, Header:= _
        xlYes

    'Returns the user to the original sheet to enable just making a selection
    myActiveWorkbook.Activate
    myActiveWorksheet.Activate
    myActiveCell.Activate

End Sub
Sub SelectVariant()
'
' SelectVariant Macro
'

'
    ActiveCell.Select

'   Save the active cell to use later
    Set myActiveCell = ActiveCell
    Set myActiveWorksheet = ActiveSheet
    Set myActiveWorkbook = ActiveWorkbook

    Selection.Copy

    Sheets("2018MMCodes").Select
    Range("AU3").Select
    ActiveSheet.Paste
    Columns("AV:AX").Select
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Range("AV1:AX3257").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("'2018MMCodes'!Criteria"), Unique:=False
    Selection.Copy
    Sheets("Selections").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    'Returns the user to the original sheet to enable just making a selection
    myActiveWorkbook.Activate
    myActiveWorksheet.Activate
    myActiveCell.Activate

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...