エクセルVBAで、非表示にした行は飛ばしてスクロールさせる方法を教えて
エクセルVBAで、非表示にした行は飛ばしてスクロールさせる方法を教えて下さい。
下記の画像のようなエクセルの表があったとします。
A2セルに設置した「下へ」ボタンを押す度に、(ウィンドウ枠の固定をA2セルの下でやっているので)現在のA3セルがある場所に、最初にA17セル、次にA28セル、と、各会社の一番上の行が来るようなマクロを作りたいと思いました。
ただし、もう取引のない会社等の理由で、非表示にしてある会社は飛ばしてスクロールさせたいのえすが、飛ばすことが出来ません。
画像で説明しますと、A社が一番上に表示してある状態で、「下へ」ボタンを1回押すと、C社が一番上に来るようにしたいのですがうまくいきません。
どうしたらよいのでしょうか?
Sub 下スクロール()
s = Selection.Row '現在選択されているセルの行番号をs変数として表現
Cells(s, 1).Select '選択されているセルのA列を選択(A列以外の列が選択されていた時の為)
au = Selection.Row '選択されている結合セルの一番上の行番号をau変数と表現
'ad3 = Selection.Offset(3, 0).Row
'ad3 = Cells(au + Range("A" & au).MergeArea.Count - 1, 1).Offset(3, 0).Row
ad3 = Cells(au + Range("A" & au).MergeArea.Count - 1, 1).Row + 3 '結合セルの一番下の行から3行下の行をad3変数で表現
ActiveWindow.ScrollRow = ad3 'ad3行が一番上に来るようスクロール
Cells(ad3, 1).Select 'A列を選択
End Sub
よろしくお願い致します。
お礼
ありがとうございます。 フォルダの中を空にしたら直りました。 本当に、ありがとうございました。