Excel VBA質問箱 IV

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

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


43450 / 76732 ←次へ | 前へ→

【38330】Re:追記です。。
回答  Kein  - 06/5/31(水) 14:30 -

引用なし
パスワード
   項目ごとに表示したいなら、そんな簡単なマクロでは無理です。
どうしても特定の項目を選択する必要がでてくるからです。
で、一例として

[シートモジュール]

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
  Dim Wp As Single, Hp As Single
 
  With Target
   If .Address <> "$A$1" Then Exit Sub
   Wp = .Width * 2: Hp = .Height
  End With
  Cancel = True: Range("IV:IV").ClearContents
  Range("A1", Range("A65536").End(xlUp)).AdvancedFilter _
  xlFilterCopy, , Range("IV1"), True
  Range("IV65536").End(xlUp).Offset(1).Value = "[ 行表示 ]"
  With ActiveSheet.DropDowns.Add(0.1, 0.1, Wp, Hp)
   .ListFillRange = Range("IV2", Range("IV65536").End(xlUp)) _
   .Address
   .OnAction = "Hdn_Row"
  End With
End Sub

[標準モジュール]

Sub Hdn_Row()
  Dim x As Variant
  Dim MyType As String
  Dim C As Range
 
  x = Application.Caller
  If VarType(x) <> 8 Then Exit Sub
  With ActiveSheet.DropDowns(x)
   If .ListIndex = .ListCount Then
     Rows.Hidden = False
   Else
     MyType = .List(.ListIndex)
   End If
   .Delete
  End With
  If MyType = "" Then Exit Sub
  Application.ScreenUpdating = False
  For Each C In Range("A2", Range("A65536").End(xlUp))
   If C.Value = MyType Then
     If C.Offset(, 25).Value = "" Then
      C.EntireRow.Hidden = True
     End If
   Else
     C.EntireRow.Hidden = True
   End If
  Next
  Application.ScreenUpdating = True
End Sub

を、各モジュールに入れ、表のあるシートの A1 をダブルクリック
してみて下さい。そこにコンボボックスが出てきますから、任意の
項目を一つ選びます。そのとき、既に行の非表示がされていて、
元に戻したいときには、リストの最後の [ 行表示 ] を選んで下さい。
シート全体の非表示行が、表示されて終わります。

6 hits

【38304】組番号等で選択範囲を取得するには。 くれよん 06/5/31(水) 9:38 質問
【38306】追記です。。 くれよん 06/5/31(水) 10:08 質問
【38307】Re:追記です。。 Statis 06/5/31(水) 10:12 発言
【38319】Re:追記です。。 くれよん 06/5/31(水) 12:26 質問
【38320】Re:追記です。。 Statis 06/5/31(水) 12:39 回答
【38325】Re:追記です。。 くれよん 06/5/31(水) 13:05 質問
【38329】Re:追記です。。 ハチ 06/5/31(水) 14:18 発言
【38332】Re:追記です。。 くれよん 06/5/31(水) 14:41 お礼
【38330】Re:追記です。。 Kein 06/5/31(水) 14:30 回答
【38333】ありがとうございました。 くれよん 06/5/31(水) 14:48 お礼

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