2016-04-11 22 views
0

我需要一些幫助;我試圖從一張紙上選擇數據並傳輸到另一張紙上。我用來選擇此數據的標準是「Ship」,因爲它在行.Range("A1:H" & lRow).AutoFilter Field:=2, Criteria1:="Ship"中陳述,但我想通過使用類似Criteria1:= Range(「A2」)的動態選擇該標準,以便我可以定義標準在Excel工作表上,而不必進入VBA代碼。我怎麼能這樣做呢? 謝謝, 基什動態定義選擇數據的標準

Sub ImportShipper()  
    Dim wsEff As Worksheet 
    Dim wsShip As Worksheet 
    Dim wsFirst As Worksheet 
    Set wsEff = Worksheets("Efficiency") 
    Set wsFirst = Worksheets("1")  
    Set wsShip = ActiveSheet 
    wsShip.Name = wsFirst.Range("B34").Value  
    With wsEff 
     Dim lRow As Long 
     lRow = .Range("A" & .Rows.Count).End(xlUp).Row 
     .Range("A1:H" & lRow).AutoFilter Field:=2, Criteria1:="Ship" 
     Dim rngCopy As Range 
     'All Columns A:H 
     Set rngCopy = .Columns("A:H") 
     'filtered rows, not including header row - assumes row 1 is headers 
     Set rngCopy = Intersect(rngCopy, .Range("A1:H" & lRow), .Range("A1:H" & lRow).Offset(1)).SpecialCells(xlCellTypeVisible) 
     rngCopy.Copy 
     End With 
    wsShip.Range("A4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
     :=False, Transpose:=False 
     Worksheets("Efficiency").ShowAllData 
    End Sub 

回答

1

替換:

Criteria1:="Ship" 

有:

Criteria1:=wsWhatever.Range("A2").Value 

,你用你喜歡的合適的A2細胞的任何工作。