2017-08-18 6 views
0

フィルタリングされたリストの可視行をどのようにループしますか?最初のフィルタリングされた行にセルがあり、列Bが "Y"であるとします。特定の列の非表示セルをすべてYに変更する必要があります。列Bの範囲が毎日異なるため、これも動的である必要があります。基本的に動的フィルタリングされたループを介したループ

、私はこのコードを変更する必要があります:あなただけがオートフィルで、ここで達成しようとしている正確にわからないSpecialCells

Range("A2:A100").SpecialCells (xlCellTypeVisible) 

答えて

0

を使用して可視セルを参照することができ

Range("B2").Select --Where B2 is "Y" 

Selection.AutoFill Destination:=Range(*This is where I am unsure*) 
+0

こんにちは、ありがとうございました。私はlr変数に従っていません。私たちはそこで何をしようとしていますか? – studentofarkad

+0

lr変数はシート上で使用される最後の行、つまり最後の行にデータを保持します。これは、フィルタ条件を適用した後に行が表示されるかどうかを確認する必要があるときに必要です。フィルタ基準を適用した後の列B。コードのIF条件は、フィルタが適用された後に一部の行が表示されているかどうかをチェックし、条件を満たす場合は、コードのみが列Bの可視セルを埋めます。 – sktneer

+0

ありがとうございました! – studentofarkad

0

が、これは、フィルタリングされたセルを処理する方法についてのアイデアを提供します。

Dim ws As Worksheet 
Dim lr As Long 
Dim FillWith As String 

Set ws = ActiveSheet 'Change it as per your requirement 
lr = ws.UsedRange.Rows.Count 
FillWith = ws.Range("B2").Value  'Change it as per your requirement 
If ws.FilterMode Then 
    If ws.Range("B1:B" & lr).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then 
     ws.Range("B2:B" & lr).SpecialCells(xlCellTypeVisible).Value = FillWith 
    End If 
End If 
+0

Hm ...それはeですhttps://stackoverflow.com/questions/14173445/excel-vba-filtered-visible-cellよりも、私はリファレンスとしてリンクしようとしていました。 – Cyril

+0

ありがとう、私はそれを試してみます。 – studentofarkad

+0

これは完全に機能しました! – studentofarkad

関連する問題