Excel VBA質問箱 IV

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

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


32194 / 76734 ←次へ | 前へ→

【49779】Re:セル範囲のオブジェクトを全て選択
回答  Kein  - 07/6/21(木) 16:07 -

引用なし
パスワード
   >結合、結合の解除
とは、グループ化と解除の意味でしょーか ?
一応そうであるとして、まずシート上にフォームツールバーのボタンを
3個配置し、その全てに以下のマクロを登録して下さい。
次に数式バーを出して [Ctrl]キー を押しながら各ボタンを選択し、いったん
[Ctrl]キーを離して Caption の "ボタン ?" を選択、アイコンが I の形
になったら Caption の編集が出来るので、順に「グループ化」「グループ解除」
「削除」と変更します。そのとき最初の Caption とは違う番号の "ボタン ?"
が数式バーの左端に表示されるはずですから、それをメモしておいて↓のマクロ
の"ボタン 48","ボタン 49","ボタン 50"を書き換えて下さい。

Sub MyDrw()
  Dim Drw As Object
  Dim i As Long
  Dim x1 As Single, y1 As Single
  Dim x2 As Single, y2 As Single
  Dim MyL As Single, MyT As Single
  Dim MyW As Single, MyH As Single
  Dim Cll As Variant
  Dim Ary() As String
 
  Cll = Application.Caller
  If VarType(Cll) <> 8 Then Exit Sub
  If TypeName(Selection) <> "Range" Then Exit Sub
  If Selection.Count = 1 Then Exit Sub
  If ActiveSheet.DrawingObjects.Count = 0 Then Exit Sub
  With Selection
   x1 = .Left: y1 = .Top
   x2 = x1 + .Width: y2 = y1 + .Height
  End With
  For Each Drw In ActiveSheet.DrawingObjects
   If TypeName(Drw) = "Button" Then GoTo NLine
   MyL = Drw.Left: MyT = Drw.Top
   MyW = MyL + Drw.Width: MyH = MyT + Drw.Height
   If MyL >= x1 And MyT >= y1 And _
   MyW <= x2 And MyH <= y2 Then
     Select Case Cll
      Case "ボタン 48"
        ReDim Preserve Ary(i): Ary(i) = Drw.Name
        i = i + 1
      Case "ボタン 49"
        If TypeName(Drw) = "GroupObject" Then Drw.Ungroup
      Case "ボタン 50"
        Drw.Delete
     End Select
   End If
NLine:
  Next
  If Cll = "ボタン 48" Then
   ActiveSheet.DrawingObjects(Ary).Group: Erase Ary
  End If
End Sub

作成はExcel2000ですが、こちらでテストした限りはうまくいきました。

3 hits

【49768】セル範囲のオブジェクトを全て選択 初心者TT 07/6/21(木) 13:02 質問
【49769】Re:セル範囲のオブジェクトを全て選択 Kein 07/6/21(木) 13:21 発言
【49771】Re:セル範囲のオブジェクトを全て選択 初心者TT 07/6/21(木) 13:37 発言
【49778】Re:セル範囲のオブジェクトを全て選択 ハチ 07/6/21(木) 16:00 回答
【49780】Re:セル範囲のオブジェクトを全て選択 初心者TT 07/6/21(木) 16:14 お礼
【49779】Re:セル範囲のオブジェクトを全て選択 Kein 07/6/21(木) 16:07 回答
【49806】Re:セル範囲のオブジェクトを全て選択 初心者TT 07/6/22(金) 19:04 お礼
【49770】Re:セル範囲のオブジェクトを全て選択 マクロマン 07/6/21(木) 13:23 発言
【49772】Re:セル範囲のオブジェクトを全て選択 初心者TT 07/6/21(木) 13:39 発言

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