2016-06-16 16 views
0

特定の日付に基づいて特定のデータを除外するワークシートを作成しています。 Range.AutoFilterを使用してデータをフィルタリングするコードを記述したら、ワークシート内の可視データ(別のワークシートには連続していない)を別のワークシートにコピーします。このために私は、エラーメッセージがコードのこの.Range("A1:AF" & row).SpecialCells(xlCellTypeVisible).Copyラインのために、「それはあまりにも複雑であるため、Microsoft Office Excelでデータ範囲の参照を作成したり使用することはできません」と言ってポップアップ表示VBA:1つのシートから別のシートに不連続なデータをコピーする

With ThisWorkbook.Sheets("ImportDumpData") 
    .Activate 
    'frow variable counts the total number of rows in the sheet 
    frow = .Range("A" & Rows.Count).End(xlUp).Row 
    .Columns("U:U").Select 
    Selection.AutoFilter 
    .Range("U2:U" & frow).AutoFilter field:=1, Criteria1:=">" & ThisWorkbook.Sheets("Main").Range("C4"), Operator:=xlEnd 
    .Range("A1:AF" & frow).SpecialCells(xlCellTypeVisible).Copy 
End With 

を使用しています。 できることを提案してください。

+0

'row'変数の値は何ですか? SpecialCells(xlCellTypeVisible).Copy'とシートでシート変数を宣言するのを忘れないでください。どこで操作を実行するかわかりません。または、私はあなたが 'with'ステートメントを使用していることに気づいたので、私の例では' sheet'を省略し、 '.cells'を使用するだけです。 –

+0

私はもっと分かりやすくするために質問を編集しました。 –

+0

まだ同じエラーが発生しています –

答えて

0

ActiveSheet.Range( "$ A $ 1:$ F $ 518")。オートフィルタフィールド:= 4、Criteria1:= ">" .Range( "A:AF" & frow).SpecialCells(xlCellTypeVisible).Copy

あなたのコードのためにこれを使用してください。

+0

同じエラーが発生していません –

+0

正確な要件をここに開示してください。 –