Referenz-Variablen-Arbeitsblatt in vba-SVERWEIS
Schreibe ich ein makro, das schafft variable Arbeitsblätter basierend auf einem Wert in einem vorhandenen Arbeitsblatt. Ich schaffte es, dass ein Teil in Ordnung, aber jetzt muss ich hinzufügen, eine SVERWEIS-Formel auf einem anderen Blatt, das auf das neu erstellte Blatt. Es gibt keine festgelegten Muster, um den Namen der neuen Tabellenblätter, so dass ich Probleme auf Sie. Hier ist der code, den ich verwendet zum erstellen von neuen Arbeitsblättern:
Dim ws As Worksheet
Dim rngCriteria As Range
Dim sName As String
Dim I As Long
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("Part Type REC")
If .AutoFilterMode = True Then .AutoFilterMode = False
.Range("D1:D" & LastRow).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("J1"), Unique:=True
Set rngCriteria = .Range("J1").CurrentRegion
For I = 2 To .Cells(Rows.Count, "J").End(xlUp).Row
sName = .Cells(I, "J")
Set ws = ThisWorkbook.Worksheets.Add
ws.Name = sName
.Range("D1:D" & LastRow).AutoFilter Field:=1, Criteria1:="=" & .Cells(I, "J").Value
.Range("A1:H" & LastRow).SpecialCells(xlCellTypeVisible).Copy Destination:=ws.Range("A1")
Next I
.AutoFilterMode = False
End With
Sheets("Part Type REC").Select
Columns("J:J").Select
Selection.ClearContents
Range("A1").Select
Und hier ist der SVERWEIS, den ich verweisen müssen, die neuen Arbeitsblätter:
Sheets("TP Parts").Select
Range("O2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'ws.name'!C[-14],1,FALSE)"
Range("O2").Select
Wohin gehe ich falsch mit diesem?
Vielen Dank im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese (UNGETESTET - Nur typisierte es hier)