2016-04-11 7 views
0

私は助けが必要です。私は1つのシートからデータを選択し、別のシートに転送しようとしています。このデータを選択するために使用している基準は、.Range("A1:H" & lRow).AutoFilter Field:=2, Criteria1:="Ship"行に記載されているように "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

置き換え:あなたはあなたが適切なA2セルの好きなワークシートを使用

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

:と

Criteria1:="Ship" 

関連する問題