Excelで作成した住所録にオートフィルタをかけ、ユーザーフォームで1件ずつ表示
エクセル2007を使用して住所録を作成しています。
一行に1名ずつの情報(各列に氏名など)が入るようになっています。
A列にリスト番号・B列に氏名、といった感じで作成しています。
一覧表示だと列の数が多く個別の内容が分かりにくいため、
ユーザーフォームを使って1件ずつ詳細を見られるようにしました。
ユーザーフォームに付けたコマンドボタン「次」を押すと
順番(住所録リストの上から順)に個別の内容が表示されるように
したのですが、オートフィルタをかけてしまうと
非表示のリストもユーザーフォームに表示されてしまいます。
そこで、いくつかの参考書などを使って組んでみたのですが、
私の作ったものではコマンドボタン「次」を押すと
オートフィルタで表示されている一番下の
リストにユーザーフォームの内容が飛んでしまいます。
どのようにすれば、オートフィルタで表示されているリストのみを
順番にユーザーフォームに表示ができるのでしょうか?
私が作ったものです。↓
Private Sub cmd次_Click()
Dim r As Range, rr As Range, rs As Range
If Not Worksheets("名簿").AutoFilterMode Then
データ行 = データ行 + 1
Else
Set r = Worksheets("名簿").Range("A3", Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible)
For Each rr In r
For Each rs In rr.Areas
データ行 = rs.Row
Next rs
Next
End If
表示データ変更
End Sub
このような質問で分かりにくいようでしたらすみません。
どなたかご教授いただければ幸いです。
お礼
何度も親切に回答ありがとうございました。説明が下手ですいません 既存の台帳とは顧客の保安台帳(住所録の拡大版ですね、 一覧表に記入したら葉書やなどにリンクする)はエクセルで作成してあるんですが項目数が200以上あるので、ユーザーフォームを活用できたらと思ったので質問させて頂きましたが、xls88さんのアドバイス通り、地道にやってみてわからなくなったら質問できるよう頑張ってみます。 ありがとうございました。