2011-06-30 10 views
0

タイトルには、最初の列で空でないセルをすべて選択しようとしているように選択全体が選択されています。だから、私のマクロは、選択範囲を見つけるためにブランクにならなくなるまで、列の行を数えてループしてカウントします。フィルタ。重複を削除します。コピーして新しいシートに貼り付けます。デバッグエラーが発生していて、誰かがコードを手伝ってくれるかどうか疑問に思っていました。これは私が持っているものです。空白以外のセルを選択し、フィルタを適用し、コピー&ペーストしてExcelを実行します。

Sub sum() 

Dim countRow As Integer 

countRow = 2 

Do Until IsEmpty(Cells(countRow, 1)) 
    countRow = countRow + 1 
Loop 

Selection.AutoFilter 
ActiveCell.Select 
ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).AutoFilter Field:=4, Criteria1:="=yes*", _ 
Operator:=xlAnd 
countRow = 2 

Do Until IsEmpty(Cells(countRow, 1)) 
    countRow = countRow + 1 
Loop 

Selection.AutoFilter 
ActiveCell.Select 
ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).Select 

Selection.Copy 
Sheets.Add After:=Sheets(Sheets.Count) 
ActiveSheet.Paste 
Application.CutCopyMode = False 
ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).RemoveDuplicates Columns:=Array(1, 7), _ 
    Header:=xlYes 
End Sub 
+0

私はあなたのためにいくつかのコードを記述しようとしたが、それはあなたが望むものを理解するのは難しいに単純であるべきです。私はあなたの要件を再説明することをお勧めします。 – Reafidy

答えて

0
ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).Select 

ActiveSheet.Range(Cells(1, 1), Cells(countRow, 7)).Select 
+0

Woops。ありがとうございました。私の細胞はフィルタリングされていないか、重複を取り除いているようです...どんな助け? – dasaki

関連する問題