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!

InformationsquelleAutor user955289 | 2012-04-13
Schreibe einen Kommentar