2016-04-11 3 views
0

Ich brauche etwas Hilfe bitte; Ich versuche, Daten von einem Blatt auszuwählen und auf ein anderes Blatt zu übertragen. Die Kriterien, die ich verwende, um diese Daten auszuwählen, ist "Ship" wie in der Zeile .Range("A1:H" & lRow).AutoFilter Field:=2, Criteria1:="Ship" angegeben, aber ich möchte dieses Kriterium dynamisch auswählen, indem ich etwas wie Criteria1: = Range ("A2") verwende, damit ich die Kriterien definieren kann auf der Excel-Tabelle, anstatt in den VBA-Code zu gehen. Wie kann ich das tun? Danke, KishDynamisch Kriterien für die Auswahl von Daten definieren

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 

Antwort

1

ersetzen:

Criteria1:="Ship" 

mit:

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

, wo Sie was Arbeitsblatt, das Sie verwenden möchten für den entsprechenden A2 Zelle.

Verwandte Themen