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
|