Excel VBA質問箱 IV

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

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


34840 / 76734 ←次へ | 前へ→

【47097】Re:可視セルの取得
回答  りん E-MAIL  - 07/2/28(水) 18:58 -

引用なし
パスワード
   さくら さん、こんばんわ。

>.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
>で可視セルを取得しています。
>オートフィルターを使用している上に、非表示のセルがあるのでアドレスは「$A$7:$A$9,$C$7:$E$9,$H$7:$K$9,$M$7:$M$9」のようになります。
>この中に存在する行の中で、非表示にしているB列のみのデータを取得したいのですが、VBAでどのように記述すればいいのでしょうか?
EntireRowプロパティで選択された可視セル範囲を行全体に拡張し、IntersectメソッドでB列と交差してるセルの位置を取得します。
Sub test()
  With Application.ActiveSheet
   '可視セル全部
   Set r1 = .Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
   'B列との交差セル
   Set r1 = Application.Intersect(.Columns("B:B"), r1.EntireRow)
   
  End With
  MsgBox r1.Address
End Sub

こんな感じです。
2 hits

【47095】可視セルの取得 さくら 07/2/28(水) 18:39 質問
【47097】Re:可視セルの取得 りん 07/2/28(水) 18:58 回答
【47101】Re:可視セルの取得 さくら 07/2/28(水) 19:44 お礼

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