Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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
Inhaltsverzeichnis

Shapes mit .hight > als zählen

Shapes mit .hight > als zählen
08.12.2020 12:30:44
Mathias
Hallo liebe Excelcracks,
Ich bin auf der Suche nach einer Möglichkeit die .height-Eigenschaft mehrerer Shapes auszulesen.
Konkret habe ich in meinem Sheet viele Buttons untereinander(Formularsteuerelemente, keine ActiveX)
Einige der Button(Shapes) haben eine .Height von 14 einige wenige eine von 28.
Wie kann ich ermitteln wieviele meiner, z.B. 32, Buttons eine .Height von >14 haben?
Ich bin euch für einen Vorschlag oder Lösung schon mal im Vorraus sehr dankbar. Falls ihr dazu sogar eine kurze Erklärung hättet wäre es noch toller, denn ich will dabei ja auch etwas lernen und nicht nur Copy paste machen.
Viele Grüße Mathias
Die Buttons zähle ich mit:

Sub countRangeImg()
Cnt = 0
For Each shp In ActiveSheet.Shapes
If Not Application.Intersect(Range("K1:K57"), shp.TopLeftCell) Is Nothing Then Cnt = Cnt +   _
_
_
1
Next
MsgBox Cnt
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes mit .hight > als zählen
08.12.2020 12:45:23
volti
Hallo,
hier ein Beispiel-Sub zur weiteren Verwendung:
Code:
[Cc]

Sub countRangeImg() Dim Cnt As Integer, Cnt14 As Integer, CntA As Integer Dim Shp As Object For Each Shp In ActiveSheet.Shapes If Not Application.Intersect(Range("AK:K57"), Shp.TopLeftCell) Is Nothing Then Cnt = Cnt + 1 Select Case Shp.HEIGHT Case 14: Cnt14 = Cnt14 + 1 Case Else: CntA = CntA + 1 End Select End If Next MsgBox "Von " & Cnt & " Objekten haben " & Cnt14 & " Objekte die Höhe 14", _ vbInformation, "Zählen" End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Shapes mit .hight > als zählen
08.12.2020 14:04:01
Mathias
Vielen Dank Karl-Heinz für deine schnelle Hilfe.
Das funktioniert nach einer kurzen Anpassung einwandfrei.
Ich musste statt "Case 14" Case Is
Sub Buttonanpassen()
With ActiveSheet.Shapes.Range(Array("Button1", _
"Button2", ….. etc.))
.Left = 795 ' Autolisten Fest
.Height = 14
.Width = 128
End With
End Sub
eingestellt habe. Weiß jemand warum es dann nicht direkt auf Case 14 angesprungen ist?
Falls nicht auf jeden fall nochmal vielen Dank.
Gruß Mathias
AW: Shapes mit .hight > als zählen
08.12.2020 14:56:29
volti
Hallo Mathias,
da müsstest Du mal mit Debug.Print die genaue Größe ausgeben lassen.
M.W. sind Größenangaben nicht unbedingt immer Ganzzahlen. Die von Dir vorgegebenen Ganzzahlen werden in die nächsten von Excel verwendeten Größenangaben umgewandelt.
Genaues weiß ich nicht. Nur Excelpoints sind z.B. nicht unbedingt Pixel....
Wenn einer mehr weiß....
VG KH
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige