Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


44387 / 76732 ←次へ | 前へ→

【37364】Re:オートフィルタの結果がもし空白なら
質問  momo  - 06/5/1(月) 17:57 -

引用なし
パスワード
   ハチさん
Msgbox WorksheetFunction.CountA(Range("A2:A65536") _
.SpecialCells(xlCellTypeVisible))

を記述してみると、可視セルのデータ件数は表示されないのにやはりタイトル行が転記されてしまいました。


IFの前後のコードは

Sub テスト()
Dim WS1 As Worksheet
Dim wb1 As Worksheet
Set WS1 = Sheet(1)
Set wb1 = Sheet(2)


ar = WS1.Range("A65536").End(xlUp).Row
With WS1
  .AutoFilterMode = 0
  .Range("A2:A" & ar).CurrentRegion.AutoFilter 5, Criteria1:=">=2006/1/1", Operator:=xlAnd, Criteria2:="<=2007/12/31"
  End With

※Ifはここに入っています。

   If WorksheetFunction.CountA(Range("A2:A65536") _
   .SpecialCells(xlCellTypeVisible)) = 0 Then

 GoTo 処理
  End If

With WS1.Range("A2", WS1.Range("A65536").End(xlUp)) _
            .SpecialCells(xlCellTypeVisible)

WS1.AutoFilter.Range.SpecialCells (xlCellTypeVisible)
.Offset(,1).Copy
wb1.Range("A2").Offset(, -3).PasteSpecial Paste:=xlValues

End With



以下3つのシートでコピーペーストのコードを記載

Keinさん
>>3つのシートにオートフィルタをかけて、2行目以降が空白なら次の処理に進む
>
>Dim WB As Workbook
>Dim WS As Worksheet
>
>Set WB = Workbooks("Book1.xls")
>Application.ScreenUpdating = False 
>For Each WS In WB.Sheets(Array("Sheet1", "Sheet2", "Sheet3"))
>  WS.Range("A1").CurrentRegion.AutoFilter 1, "Test"
>  If WS.AutoFilter.Range.Columns(1).SpecialCells(12).Count > 1 Then
>   フィルターの結果は抽出件数 1 以上なので、何かの処理をここへ書く
>  End If
>  WS.AutoFilterMode = False
>Next
>Application.ScreenUpdating = True: Set WB = Nothing
>

For Nextを使わずに処理を実行したい場合はどうしたらいいのでしょうか?
次の処理に進むというのを3回程繰り返すので、For Nextを使わない方法をとりたいのですが・・。
ちなみに

>  If WS.AutoFilter.Range.Columns(1).SpecialCells(12).Count > 1 Then
を実行したところ、データがあるシートの転記がされなくなりました。


データが空白というよりは、データが無い場合の条件振り分けなので、
試しにIF文を削除して実行してみたところ、エラーにならず、IF文を削除しても1行目のデータが転記されてしまいました。
1 hits

【37345】オートフィルタの結果がもし空白なら momo 06/5/1(月) 13:33 質問
【37348】Re:オートフィルタの結果がもし空白なら ハチ 06/5/1(月) 13:47 回答
【37350】Re:オートフィルタの結果がもし空白なら momo 06/5/1(月) 14:44 質問
【37352】Re:オートフィルタの結果がもし空白なら ハチ 06/5/1(月) 15:33 発言
【37355】Re:オートフィルタの結果がもし空白なら Jaka 06/5/1(月) 16:16 発言
【37364】Re:オートフィルタの結果がもし空白なら momo 06/5/1(月) 17:57 質問
【37366】Re:オートフィルタの結果がもし空白なら Kein 06/5/1(月) 18:21 発言
【37376】Re:オートフィルタの結果がもし空白なら momo 06/5/2(火) 9:29 質問
【37377】Re:オートフィルタの結果がもし空白なら Jaka 06/5/2(火) 11:16 発言
【37379】追加 Jaka 06/5/2(火) 13:21 発言
【37380】Re:追加 momo 06/5/2(火) 14:27 お礼
【37381】Re:追加 Jaka 06/5/2(火) 15:30 発言
【37351】Re:オートフィルタの結果がもし空白なら Kein 06/5/1(月) 15:13 回答

44387 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free