Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1256to1260
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro mit SVERWEIS anpassen

Makro mit SVERWEIS anpassen
Julia
Hallo,
ich habe folgendes Makro aufgezeichnet
Sub Status_aus_Pool()
Sheets("Database").Select
Range("AN1").Select
ActiveCell.FormulaR1C1 = "Status_aus_Pool"
Range("AN2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-13],Daten_aus_Pool!C[-35]:C[-30],6,FALSE)"
Range("AN2").Select
Selection.AutoFill Destination:=Range("AN2:AN846")
Range("AN2:AN846").Select
Columns("AN:AN").EntireColumn.AutoFit
Range("AN2").Select
Sheets("Report").Select
End Sub

Das Makro funktioniert wunderbar. Aber es ist nicht sehr dynamisch :)
1.) In das Feld AN1 schreibe ich ja was rein. Es ist deshalb AN1 weil das die erste frei Spalte ist. Es kann aber seindas in Zukunft weitere Spalten hinzukommen. Das was ich in AN1 eintrage soll immer in die erste freie Spalte kommen, egal wieviele Saplten es vorher sind...
2.) Auch kommen mit jedem Update neue Datensätze hinzu. Mein Makro würde dann nur bis Zeile 846 funktionieren. Wie muss ich das Makro anpassen dass er mir den SVERWEIS bis zur letzten ausgefüllte Zeile macht.
3.) Im SVERWEIS habe ich ja als Suchkriterium ein bestimmtes Feld angegeben. Das Makro hat bei der Aufzeichnung ermittelt das dieses Feld das 13. Feld von meinem SVERWEIS ist. Falls jetzt weitere Spalten hinzukommen ist es ja unter Umständen nicht mehr das 13. Feld.
Kann man anstatt der Zahlenangabe auch sagen, das Suchkriterium ist immer in Spalte "Schlüssel"
Gruß
Julia

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro mit SVERWEIS anpassen
30.03.2012 11:31:10
Rudi
Hallo,
teste mal.
Sub Status_aus_Pool()
Dim lngLastCol As Long, lngLastRow As Long
With Sheets("Database")
lngLastCol = .Cells(1, Columns.Count).End(xlToLeft).Offset(, 1).Column
lngLastRow = .Cells(Rows.Count, 27).End(xlUp).Row
.Cells(1, lngLastCol) = "Status aus Pool"
.Range(.Cells(2, lngLastCol), .Cells(lngLastRow, lngLastCol)).FormulaR1C1 = _
"=VLOOKUP(RC27],Daten_aus_Pool!C5:C10,6,FALSE)"
.Columns(lngLastCol).AutoFit
End With
Sheets("Report").Select
End Sub

Gruß
Rudi
Anwendungs- oder objektdefinierter Fehler
30.03.2012 12:17:46
Julia
Hallo Rudi,
Fehler an folgender Stelle:
.Range(.Cells(2, lngLastCol), .Cells(lngLastRow, lngLastCol)).FormulaR1C1 = _
"=VLOOKUP(RC27],Daten_aus_AMS!C5:C10,6,FALSE)"
Anzeige
] zu viel
30.03.2012 12:41:53
Rudi
Hallo,
"=VLOOKUP(RC27,Daten_aus_AMS!C5:C10,6,FALSE)"
Gruß
Rudi
Vielen Dank, klappt prima
30.03.2012 13:32:11
Julia
Vielen Dank, klappt prima

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige