Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Verschwundene Steuerelemente VBA finden
Josef
Hallo!
wie kann ich bei einer großen Menge von Steuerelementen in VBA ein nicht sichtbares Steuerelement wiederfinden?
Danke

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
sheets(1).oleobjects.visible=true owT
01.04.2010 12:50:48
Rudi
AW: sheets(1).oleobjects.visible=true owT
01.04.2010 12:57:55
Josef
Hallo Rudi !
Danke für Deine Antwort.
Hab glaube ich mal wieder nicht ordentlich angefragt, Vergaß zu erwähnen dass ich die Steuerelemente in einer UF suche.
Tut mir leid.
Josef
AW: sheets(1).oleobjects.visible=true owT
01.04.2010 13:04:28
Micha
Hallo Josef,
eine Möglichkeit:
Private Sub CommandButton1_Click()
Dim objElement As Control
For Each objElement In UserForm1.Controls
If objElement.Visible = False Then
MsgBox objElement.Name
End If
Next
End Sub
Gruß
Micha
AW: sheets(1).oleobjects.visible=true owT
01.04.2010 14:10:27
Josef
Hallo Micha!
Danke Für Deine Antwort und Deine Hilfe.
Josef
AW: Verschwundene Steuerelemente VBA finden
01.04.2010 14:20:19
fcs
Hallo Josef,
nachfolgend 2 Makros, mit denen du nach ausgeblendeten Elementen suchen kannst.
Du solltest natürlch beachten, dass bei Elementen, die exakt übereinander liegen, das im Hintergrund liegende Element ggf. nicht sichtbar ist. Solche Elemente kann man nur durch Vergleich der Top und Left-Informationen ermitteln.
Gruß
Franz
Sub UnsichtbareShapes()
Dim wks As Worksheet, oShape As Shape, bWasGefunden As Boolean
'Shapes mit Status Visible = False in Tabellenblatt finden
Set wks = ActiveSheet
bWasGefunden = False
For Each oShape In wks.Shapes
If oShape.Visible = False Then
With oShape
Select Case MsgBox("Element-Name: " & .Name _
& vbLf & "Top-Left Cell: " & .TopLeftCell.Address _
& vbLf & vbLf & "Objekt einblenden?", _
vbInformation + vbYesNoCancel, "Unsichtbare Shape-Objekte finden")
Case vbYes
.Visible = True: bWasGefunden = True
Case vbNo
bWasGefunden = True
Case vbCancel
bWasGefunden = True: Exit For
End Select
End With
End If
Next
If bWasGefunden = False Then MsgBox "Es gibt keine unsichtbaren Elemente"
End Sub
Sub UnsichtbareUF()
Dim UF As UserForm, oControl As Control, bWasGefunden As Boolean
'Elemente mit Eigenschaft Visible=False in Userform finden
Set UF = UserForm1
For Each oControl In UF.Controls
If oControl.Visible = False Then
bWasGefunden = True
With oControl
If MsgBox("Element-Name: " & .Name, _
vbInformation + vbOKCancel, _
"Unsichtbare Steuerelemente - Userform1") = vbCancel Then
Exit For
End If
End With
End If
Next
If bWasGefunden = False Then MsgBox "Es gibt keine unsichtbaren Elemente"
End Sub
Sub Ueberlappend_UF()
Dim UF As UserForm, sMsgtext As String, bWasGefunden As Boolean
Dim intJ As Long, intI As Long, oControl_I As Control, oControl_J As Control
Dim arrInfo()
'Überlappende Elemente in Userform finden
Set UF = UserForm1 'Name ggf anpassen
ReDim arrInfo(1 To UF.Controls.Count, 1 To 5)
For Each oControl_I In UF.Controls
intJ = intJ + 1
arrInfo(intJ, 1) = oControl_I.Name
arrInfo(intJ, 2) = oControl_I.Top
arrInfo(intJ, 3) = oControl_I.Left
arrInfo(intJ, 4) = oControl_I.Height
arrInfo(intJ, 5) = oControl_I.Width
Next
For intI = 1 To UF.Controls.Count - 1
For intJ = intI + 1 To UF.Controls.Count
If (arrInfo(intJ, 2) >= arrInfo(intI, 2) _
And arrInfo(intJ, 2) = arrInfo(intI, 3) _
And arrInfo(intJ, 3) = arrInfo(intJ, 2) _
And arrInfo(intI, 2) = arrInfo(intJ, 3) _
And arrInfo(intI, 3)  "" Then
sMsgtext = "Element-Name: " & arrInfo(intI, 1) _
& vbLf & "Positon - Top : " & arrInfo(intI, 2) _
& vbLf & "Positon - Left: " & arrInfo(intI, 3) _
& vbLf & "überlappt mit folgenden Elementen" & sMsgtext
If MsgBox(sMsgtext, vbInformation + vbOKCancel, _
"Überlappende Steuerelemente - Userform1") = vbCancel Then
Exit For
End If
End If
sMsgtext = ""
Next
If bWasGefunden = False Then MsgBox "Es gibt keine überlappenden Elemente"
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige