Thema Datum  Von Nutzer Rating
Antwort
Rot Dropdown per Validation VBA Excel
29.06.2020 08:43:53 Fabian
Solved
29.06.2020 11:53:04 Fabian
Solved
29.06.2020 12:30:30 Gast93409
NotSolved

Ansicht des Beitrags:
Von:
Fabian
Datum:
29.06.2020 08:43:53
Views:
806
Rating: Antwort:
 Nein
Thema:
Dropdown per Validation VBA Excel

Hallo,

ich habe ein Anliegen in Excel VBA. Meine Aufgabe benötigt zur Lösung eine sehr flexible Datenüberprüfung.

Ich beginne mit einer Dropdownauswahl, welche per SelectionChange mein Makro auslöst.

Je nach Eingabe in die erste Auswahl, sollen dann Daten von dementsprechenden Sheets gezogen werden.

An dieser Stelle hängt es gerade.


If Target.Address = Range("C3").Address Then
   
    Dim ws As Worksheet
    Dim tempannex As String
    Dim annex As String
    Dim namews As String
    
    
    tempannex = Worksheets("CodeFinder").Range("C3").Value
    annex = Left(tempannex, 8)
    
    Select Case (annex)
        Case Is = "Anhang A"
            Set ws = ThisWorkbook.Worksheets("AnnexA_NewFormatTerms.csv_Final")
            namews = "AnnexA_NewFormatTerms.csv_Final"
        Case Is = "Anhang B"
            Set ws = ThisWorkbook.Worksheets("AnnexB_NewFormatTerms.csv_Final")
            namews = "AnnexB_NewFormatTerms.csv_Final"
        Case Is = "Anhang C"
            Set ws = ThisWorkbook.Worksheets("AnnexC_NewFormatTerms.csv_Final")
            namews = "AnnexC_NewFormatTerms.csv_Final"
        Case Is = "Anhang D"
            Set ws = ThisWorkbook.Worksheets("AnnexD_NewFormatTerms.csv_Final")
            namews = "AnnexD_NewFormatTerms.csv_Final"
        Case Is = "Anhang E"
            Set ws = ThisWorkbook.Worksheets("AnnexE_NewFormatTerms.csv_Final")
            namews = "AnnexE_NewFormatTerms.csv_Final"
        Case Is = "Anhang F"
            Set ws = ThisWorkbook.Worksheets("AnnexF_NewFormatTerms.csv_Final")
            namews = "AnnexF_NewFormatTerms.csv_Final"
        Case Is = "Anhang G"
            Set ws = ThisWorkbook.Worksheets("AnnexG_NewFormatTerms.csv_Final")
            namews = "AnnexG_NewFormatTerms.csv_Final"
    End Select  
    
'Bereich ermitteln + Dropdown für das jeweilige Sheet erstellen
    Dim lngZeile As Long
    Dim temp As String
   
    lngZeile = ws.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    temp = namews & "!" & "Range(A9:A" & lngZeile & ").address"
    
    With ThisWorkbook.Worksheets("CodeFinder").Range("C5").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
             xlEqual, Formula1:=temp
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = "Please Select a Value"
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
  
  Else
        GoTo Ende
    
End If

Ende:

 

Bei der Ausführung dieses Codes entsteht ein Dropdownmenü.

Leider steht in diesem nur der Wert des Strings temp. Ich möchte aber auf dem jeweiligen Tabellenblatt die Werte von A9 bis lngZeile in einer Dropdownliste finden.

 

Ich habe leider Programmierung nicht gelernt, sondern eher Learning by Doing in Eigenengagement zusammen gegooglet. Daher bitte ich euch nachsichtig mit mir zu sein :) 

 

Vielen Dank für eure Antworten.

Fabian


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Dropdown per Validation VBA Excel
29.06.2020 08:43:53 Fabian
Solved
29.06.2020 11:53:04 Fabian
Solved
29.06.2020 12:30:30 Gast93409
NotSolved