Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1540to1544
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

VLOOKUP ohne Werte

VLOOKUP ohne Werte
10.02.2017 08:25:39
Sabrina
Hallo zusammen,
ich verzweifle an meinem Code.
Es läuft alles wunderbar durch, nur bekomme ich in der gewünschten Zelle kein Ergebnis ausgegeben.
Woran liegt es?
Hier mein Code:

Sub Trend()
Set Hier = ThisWorkbook.Worksheets("Auswertung")
'Überschriften einfügen
Dim lngSpalte As Long
lngSpalte = ActiveSheet.Range("XFD5").End(xlToLeft).Column
Dim Tag As String
Dim Monat As String
Dim Jahr As String
Tag = InputBox("Bitte Tag (TT) angeben")
Monat = InputBox("Bitte Monat (MM) angeben")
Jahr = InputBox("Bitte Jahr (JJJJ) angeben")
Cells(5, lngSpalte + 1).Value = Tag & "." & Monat & "." & Jahr
Cells(5, lngSpalte + 2).Value = "Trend"
Range(Cells(5, lngSpalte + 1), Cells(5, lngSpalte + 2)).Interior.ColorIndex = 15
Range(Cells(5, lngSpalte + 1), Cells(5, lngSpalte + 2)).Font.Bold = True
'Datei öffnen
Dim Dateiname, Pfad
Dim Datum As String
Datum = Jahr & Monat & Tag
Pfad = "X:\Data\"
Dateiname = Pfad & Datum & "-DRACO-RANKINGS-SM" & ".xlsx"
Workbooks.Open (Dateiname)
Da = ActiveWorkbook.Name
'Datei sortieren
Rows("1:1").Select
Selection.AutoFilter
ActiveWorkbook.Worksheets("Worksheet1").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Worksheet1").AutoFilter.Sort.SortFields.Add Key:= _
Range("C1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Worksheet1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'sverweisen
Hier.Activate
ActiveSheet.Cells(6, lngSpalte + 1).Select
Cells(6, lngSpalte + 1).Formula = Application.VLookup(Hier.Cells(6, 1).Value, Workbooks(Da). _
Sheets("Worksheet1").Range("A1:D5000"), 3, False)
Selection.AutoFill Destination:=Range(Cells(6, lngSpalte + 1), Cells(255, lngSpalte + 1))
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VLOOKUP ohne Werte
10.02.2017 08:41:37
ChrisL
Hi Sabrina
Zwei mögliche Varianten (entweder Formel eintragen = Formula, oder direkt den Wert eintragen):
Sub t()
Hier.Cells(6, lngSpalte + 1) = Application.VLookup(Hier.Cells(6, 1).Value, Workbooks(Da).Sheets( _
"Worksheet1").Range("A1:D5000"), 3, False)
End Sub

Sub tt()
Hier.Cells(6, lngSpalte + 1).Formula = "=VLOOKUP(A6,Worksheet1!A1:D5000,3,false)"
End Sub
cu
Chris
AW: VLOOKUP ohne Werte
10.02.2017 08:45:58
Sabrina
Danke für die schnelle Antwort, aber leider klappt das nicht...
Es steht immer noch kein Wert in der Zelle..
Es wird aber auch kein Fehler ausgeworfen.
Anzeige
AW: VLOOKUP ohne Werte
10.02.2017 09:22:27
ChrisL
Dann lade mal eine Beispieldatei inkl. dem korrigierten Code...
AW: VLOOKUP ohne Werte
10.02.2017 10:10:27
Daniel
Hi
du musst den SVerweis als Formel in die Zellen eintragen.
die Formeln kannst du dann durch ihren Wert ersetzen.
Da der Zellbezug für die Suchmatrix des SVerweises in einer anderen Datei liegt, musst du dieses in der Formel entsprechend angeben.
du brauchst diesen Code, um die Werte einzutragen:
hier.activate
With Range(Cells(6, lngSpalte + 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row, lngSpalte + 1))
.FormulaR1C1 = "=VLookUp(RC1,'[" & Da & "]" & Workbooks(Da).Worksheets(1).Name _
& "'!R1C1:R500C4,3,false)"
.Formula = Value
End With

Anzeige
AW: VLOOKUP ohne Werte
10.02.2017 10:25:02
ChrisL
Hi Sabrina
Autofill geht nur mit Formeln, aber du hast dich für die Variante mit fixen Werten entschieden. Lösung gemäss Beitrag von Daniel, aber hier noch der aufgeräumte Code:
Sub Trend()
Dim lngSpalte As Long
Dim Tag As String
Dim Monat As String
Dim Jahr As String
Dim Dateiname As String, Pfad As String
Dim Datum As String
Dim Hier As Worksheet
Dim WB As Workbook, WS As Worksheet
Tag = InputBox("Bitte Tag (TT) angeben")
Monat = InputBox("Bitte Monat (MM) angeben")
Jahr = InputBox("Bitte Jahr (JJJJ) angeben")
Set Hier = ThisWorkbook.Worksheets("Auswertung")
With Hier
lngSpalte = .Range("XFD5").End(xlToLeft).Column
.Cells(5, lngSpalte + 1).Value = Tag & "." & Monat & "." & Jahr
.Cells(5, lngSpalte + 2).Value = "Trend"
.Range(.Cells(5, lngSpalte + 1), .Cells(5, lngSpalte + 2)).Interior.ColorIndex = 15
.Range(.Cells(5, lngSpalte + 1), .Cells(5, lngSpalte + 2)).Font.Bold = True
End With
'Datei öffnen
Datum = Jahr & Monat & Tag
Pfad = "X:\Data\"
Dateiname = Pfad & Datum & "-da" & ".xlsx"
Set WB = Workbooks.Open(Dateiname)
Set WS = WB.Worksheets("Worksheet1")
'Datei sortieren
WS.Rows("1:1").AutoFilter
With WS.AutoFilter.Sort
.SortFields.Clear
.SortFields.Add Key:=WS.Range("C1"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'sverweisen
With Hier.Range(Hier.Cells(6, lngSpalte + 1), _
Hier.Cells(Hier.Cells(Rows.Count, 1).End(xlUp).Row, lngSpalte + 1))
.FormulaR1C1 = "=VLookUp(RC1,'[" & WB.Name & "]" & WS.Name & "'!R1C1:R500C4,3,false)"
.Value = .Value
End With
'Mappe wieder schliessen
WB.Close False
End Sub

cu
Chris
Anzeige
AW: VLOOKUP ohne Werte
10.02.2017 11:47:28
Sabrina
Danke!
Es funktioniert! Und danke auch für den aufgeräumten Code.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige