|  
                                             
	Hallo zusammen, 
	als Entschuldigung vorweg: Ich bin noch in einem Anfangsstadium meiner VBA-Entwicklung... 
	Ich möchte in meinem Makro die Funktion "Application.WorksheetFunction.VLookup" so universell gestalten, dass ich die Funktion für weitere Zwecke nutzen kann. Daher möchte ich über Variablen die Funktionsargumente dynamisch auslesen. 
	Trotz mehrstündiger Forensuche bin ich anscheinend nicht in der Lage, die Variablen so einzubinden, dass es funktioniert - obwohl ich mittels Debuggen überprüft habe, dass ich die richtigen Werte in den Variablen habe. 
	Nachfolgend mein Code mit Kommentarzeilen, die hoffentlich erklären, was ich möchte: 
	Private Function StatusUeberInventarnummerSpiderVonNach(quellblatt As String, zielBlatt As String) 
	    Dim inventarNr As String, auswahl As String, zielSpalteABC As String, statusSpalteABC As String, _ 
	    letzteQuellspalteABC As String, rechnerSpalteABC As String, statusErgebnis As String, _ 
	    anzahlZielzeilen As Integer, zielSpalte As Integer, anzahlQuellzeilen As Integer 
	         
	    'Anzahl Zeilen im Quellblatt ermitteln 
	    Sheets(quellblatt).Select 
	    anzahlQuellzeilen = ActiveSheet.UsedRange.Rows.Count 
	    'Suchmatrix definieren 
	    letzteQuellspalteABC = Split(Cells(1, ErmittleSpaltenanzahl).Address, "$")(1) 
	    auswahl = "A1:" & letzteQuellspalteABC & anzahlQuellzeilen ' daraus wird bspw. "A1:I3753" 
	    'Statusspalte ausfindig machen 
	    statusSpalteABC = ErmittlespaltenID("_Status", quellblatt) 'Funktion sucht in Zeile 1 nach der Überschrift - bspw. "G" 
	    rechnerSpalteABC = ErmittlespaltenID("Inventarnummer", quellblatt) 'Funktion sucht in Zeile 1 nach der Überschrift - bspw. "A" 
	     
	    'Anzahl Zeilen im Zielblatt 
	    Sheets(zielBlatt).Select 
	    anzahlZielzeilen = Range("B65535").End(xlUp).Row 'von Spalte B65535 aus nach oben in die erste beschriebene Zeile springen 
	     
	    'Daten rechts neben letzter befüllter Spalte einfügen 
	    zielSpalte = ErmittleSpaltenanzahl + 1 ' Funktion liefert die letzte gefüllte Spalte als Zahl zurück 
	    zielSpalteABC = Split(Cells(1, zielSpalte).Address, "$")(1) ' Umwandlung der Spaltenangabe in die Buchstabenbezeichnung 
	         
	    'erste Zeile beschriften 
	    Cells(1, zielSpalte).Value = "Status" 
	 
	    'nachfolgende Zeilen befüllen 
	    For i = 2 To anzahlZielzeilen 
	        inventarNr = Cells(i, 2).Value 
	        Worksheets(zielBlatt).Cells(i, zielSpalte).Value = Application.WorksheetFunction.VLookup(inventarNr, Sheets(quellblatt).[auswahl], statusSpalte, False) 
	    Next i 
	Der Aufruf erfolgt so 
	Call StatusUeberInventarnummerSpiderVonNach("Spider", "Rechner neu") 
     |