Tabellennamen aus Zellen entnehmen und in Match-Formel verwenden (VBA)
Hallo *,
ich bräuchte dringend Hilfe. Am Sonntag habe ich meine Frage ins Forum gestellt, aber leider noch keine Antwort erhalten. Vielleicht liegt es daran, dass ich mich nicht verständlich ausgedrückt habe. Ich versuche es nochmal.
Der Blattname "neu" bzw. "alt" in dem nachstehenden Beispiel soll variabel gehalten sein. Die zu verwendenden Blattnamen stehen auf einem Blatt in einer Spalte und sollen über eine Schleife nacheinander verwendet werden. Welche Variable brauche ich für den Namen und wie kann ich diesen zuweisen?
Sub Datenholen()
Dim suchbegriff As String
Dim blatt As Range
Dim blatt1 As Range
Dim spalte As Long
Dim ergebnis As Double
Dim zeile As Double
suchbegriff = "AnsatzHungerHorst"
Set blatt = Worksheets("alt").Range("A6:L69")
Set blatt1 = Worksheets("neu").Range("A6:A69")
sp = 10
ergebnis = Application.WorksheetFunction.VLookup(suchbegriff, blatt, sp, 0)
zeile = Application.WorksheetFunction.Match(suchbegriff, blatt1, 0)
Range("Auswertung!B11").Value = ergebnis
Range("Auswertung!B12").Value = zeile
End Sub
Vielen Dank einstweilen
Gruß Oma
Antwort schreiben
Antwort 1 von meinTipp vom 25.09.2019, 12:12 Options
Hallo Oma,
setzte für die Namen den Zellwert ein.
Wenn z.B der String "alt" im Blatt Auswertung in A1 steht, schreibe für "alt": Worksheets("Auswertung").Range("A1").Value
Gruss Rolf
Antwort 2 von Oma vom 25.09.2019, 20:37 Options
Hallo Rolf,
herzlichen Dank für die Hilfe. Es funktioniert prima. Ich habe statt Range noch Cells genommen und kann nun über eine Schleife mit Zählvariable die Namen aus den untereinander liegenden Zellen entnehmen.
Nun kann ich an meinem (für einen Laien wie mich sehr großen ) Gesamtprojekt weiterarbeiten - bis zum nächsten Problem, das sicherlich nicht lange auf sich warten lässt -:).
Viele Grüße
Oma