AW: shapes eines Bereiches gruppieren
03.07.2014 00:43:15
Mullit
Hallo,
vielleicht könnte so etwas funktionieren;
Du müsstest hinterher ggF. die Shapes wieder ungruppieren
und es müssen mindestens 2 Shapes im Selektionsbereich liegen:
' **********************************************************************
' Modul: Tabelle1 Typ: Klassenmodul Tabellenblatt
' **********************************************************************
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsArray(Target) Then Call prcGroupShapes
End Sub
VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel
Code erstellt und getestet in Office 12
' **********************************************************************
' Modul: Modul1 Typ: Standardmodul
' **********************************************************************
Option Explicit
Private Declare Function SafeArrayGetDim Lib "oleaut32.dll" ( _
ByRef pArray() As Any) As Long
Public Sub prcGroupShapes()
Dim objShape As Shape
Dim objCell As Range
Dim avntShpNames() As Variant
Dim ialngIndex As Long
For Each objShape In ActiveSheet.Shapes
With objShape
If .Visible Then
For Each objCell In Selection
If Not Intersect(.TopLeftCell, objCell) Is Nothing Then
ialngIndex = ialngIndex + 1
Redim Preserve avntShpNames(ialngIndex - 1) As Variant
avntShpNames(ialngIndex - 1) = .Name
Exit For
End If
Next
End If
End With
Next
If Not CBool(SafeArrayGetDim(avntShpNames)) Then
MsgBox "Es wurden keine Shapes selektiert.", vbExclamation
Exit Sub
ElseIf Ubound(avntShpNames) < 1 Then
MsgBox "Mindestens 2 Shapes müssen im Selektionsbereich liegen", vbExclamation
Exit Sub
End If
ActiveSheet.Shapes.Range(avntShpNames).Group
End Sub
VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel
Code erstellt und getestet in Office 12
Gruß,