可視セルのみ選択/値を取得するコードサンプル
SpecialCellsメソッドを使用する事で、可視セルのアクティブ化、可視セルのデータをコピー等する事が可能です。
可視セルはHidden状態やオートフィルタがかかった状態を指します。
Public Sub sample() '■エラーが出た行を無視する On Error Resume Next '■セルA1を含む表の空白セルのみ選択する Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Select '■セルA1を含む表の空白セルの個数をカウントする Debug.Print Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Count '■セルA1を含む表の空白セルのアドレスを表示する(空白セルを検索する) Debug.Print Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Address '■セルA1:C5の可視セルのみ選択する Range("A1:C5").SpecialCells(xlCellTypeVisible).Select '■Sheet2へSheet1のセルA1:C5の可視セルをコピペする Worksheets("Sheet1").Range("A1:C5").SpecialCells(xlCellTypeVisible).Copy Worksheets("Sheet2").Range("A1").PasteSpecial End Sub
注意点
- On Error Resume Nextを入れておかないと、以下エラーが発生する可能性があります。 実行時エラー’1004′: アプリケーション定義またはオブジェクト定義のエラーです。実行時エラー’1004′: 該当するセルが見つかりません。
- 上記は該当するセルがなかった場合(空白セルがなかった場合)にエラーが発生してしまいます。
その為、On Error Resume Nextでエラーを無視する形で対応しています。
コメント