2012-04-13 6 views
2

기존 워크 시트의 값을 기반으로 가변 워크 시트를 만드는 매크로를 작성하고 있습니다. 그 부분을 잘 관리했지만 지금은 새로 작성한 시트를 참조하는 다른 시트에 VLOOKUP 수식을 추가해야합니다. 새 워크 시트의 이름에는 설정된 패턴이 없으므로 참조하는 데 문제가 있습니다. 저는 여기에 새로운 워크 시트를 만드는 데 사용되는 코드입니다 :VLOOKUP의 참조 변수 워크 시트 vba

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 

는 그리고 여기 새로운 워크 시트를 참조 할 필요가있는 VLOOKUP입니다 :

Sheets("TP Parts").Select 
Range("O2").Select 
Application.CutCopyMode = False 
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],'ws.name'!C[-14],1,FALSE)" 
Range("O2").Select 

나는이 잘못 가고는?

미리 감사드립니다.

답변

4

이 (안된 - 그냥 여기를 입력) 시도

Range("O2").FormulaR1C1 = "=VLOOKUP(RC[-1]," & ws.name & "!C[-14],1,FALSE)" 
+0

멋진! 고맙습니다!! – user955289

관련 문제