Excel VBA質問箱 IV

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

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


33600 / 76734 ←次へ | 前へ→

【48350】Re:範囲内にあるチェックボックス削除
回答  Kein  - 07/4/13(金) 16:32 -

引用なし
パスワード
   >入力値が50、85だったら、50行目から85目を非表示
ということなら以下のマクロを入れて、テスト用の空白シートを開いて
Test_CkBを実行してみて下さい。全行を表示してチェックボックスが
非表示になっているか確認する場合は、手作業でやって下さい。
Del_CkBは、非表示のものも含めてアクティブシート上のチェックボックスを
一括して削除します。

Sub Test_CkB()
  Dim Srw As Long, Erw As Long, Tgr As Long
  Dim Lp As Single, Tp As Single, Hp As Single
  Dim C As Range
  Dim CkB As CheckBox
 
  With Range("B1")
   Lp = .Left: Hp = .Height
  End With
  For Each C In Range("B1:B20")
   ActiveSheet.CheckBoxes.Add Lp, C.Top, Hp, Hp
  Next
  With Application
   Srw = .InputBox("非表示にする開始行を 1〜20 の数値で" & _
   "入力して下さい", Type:=1)
   Erw = .InputBox("非表示にする最終行を 1〜20 の数値で" & _
   "入力して下さい", Type:=1)
  End With
  Select Case True
   Case Srw = False: Exit Sub
   Case Erw = False: Exit Sub
   Case Srw > Erw: Exit Sub
   Case Srw > 20: Exit Sub
   Case Erw > 20: Exit Sub
  End Select
  For Each CkB In ActiveSheet.CheckBoxes
   Tgr = CkB.TopLeftCell.Row
   If Tgr >= Srw And Tgr <= Erw Then
     CkB.Visible = False
     Rows(Tgr).Hidden = True
   End If
  Next
End Sub

Sub Del_CkB()
  With ActiveSheet.CheckBoxes
   MsgBox .Count & " 個を削除します"
   .Delete
  End With
End Sub

以上をヒントにすれば、目的どうりのマクロが組めると思いますが。

6 hits

【48342】範囲内にあるチェックボックス削除 kanae 07/4/13(金) 14:15 質問
【48343】Re:範囲内にあるチェックボックス削除 Kein 07/4/13(金) 14:31 発言
【48345】Re:範囲内にあるチェックボックス削除 kanae 07/4/13(金) 14:53 発言
【48346】Re:範囲内にあるチェックボックス削除 Kein 07/4/13(金) 15:18 発言
【48348】Re:範囲内にあるチェックボックス削除 kanae 07/4/13(金) 15:34 発言
【48350】Re:範囲内にあるチェックボックス削除 Kein 07/4/13(金) 16:32 回答
【48351】Re:範囲内にあるチェックボックス削除 kanae 07/4/13(金) 16:58 お礼

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