Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
664to668
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
664to668
664to668
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Shapes-Eigenschaften

Shapes-Eigenschaften
13.09.2005 23:05:42
windalf
Hallo...
Ich habe folgendes Problemchen...
Ich habe auf einem Exceltabellenblatt viele Shapes...
Ich möchte diese nun alle einzelen in einer Schleife durchgehen und wenn es sich bei dem Shape um eine "Rechteck" oder "Oval" handelt etwas mit dem text der dort drinne steht verantalten. Funktioniert soweit auch schon ganz gut allerdings habe ich das Problem das wenn z.B. andere Shapes auf der Oberfläche liegen diese nicht ignoriert werden...
For i = 0 To count_shapes - 1
If ActiveSheet.Shapes(i + 1).Type = msoShapeRectangle Or ActiveSheet.Shapes(i + 1).Type = msoShapeOval Then
'irgendwas mit anstellen...
End If
Next i
Dies funktioniert leider nicht da z.B. ein Pfeil anscheinend auch ein msoShapeRectangle ist und damit die Bedinung true wird. Wie kann ich das verhindern. Ich hoffe ihr wisst was ich meine...
Besten Dank Gruß Windalf

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes-Eigenschaften
13.09.2005 23:23:22
Ramses
Hallo
"... da z.B. ein Pfeil anscheinend auch ein msoShapeRectangle ist ..."
Das glaubst du doch nun wohl selbst nicht :-) !?
Bei VBA-Gut sollte die Funktion des Makrorekorders zum kleinen 1*1 gehören
Sub Makro1()
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, 85.8, 44.4, 105.6, 43.8). _
        Select
    ActiveSheet.Shapes.AddShape(msoShapeOctagon, 95.4, 111.6, 78#, 76.2). _
        Select
    ActiveSheet.Shapes.AddShape(msoShapeRightArrow, 88.2, 236.4, 116.4, 49.8). _
        Select
    ActiveSheet.Shapes.AddShape(msoShapeQuadArrow, 90#, 321.6, 124.2, 79.8). _
        Select
End Sub

Gruss Rainer
Anzeige
AW: Shapes-Eigenschaften
13.09.2005 23:35:49
windalf
@Ramses
Kopfklatsch... Ja ich hab vor lauter Code irgendwie geschlafen.... Es scheint so zu funktionieren wie ich will nur an anderer Stelle hab ich die Bedindung vergessen gehabt und da ist er mir rausgehauen. Ich war mir aber sicher gewesen das ich da nen Copy und Paste gemacht hatte...
Danke..
Zu dem Level... Wo kann ich den bei VBA z.B. Anfänger einstellen? Da geht imho nur Nein was mal überhaupt nicht stimmt das ich Null Ahnung vom Proggen habe nur VBA kenn ich (noch) nicht gut. Aber prinzipiell hab ich mit dem Proggen kein Problem ist eher das Problemchen wie die ganzen Objekte in VBA heissen, die Syntax ist ja nicht soviel als das man die nicht schnell auf die Pfanne bekommt.... Oder hab ich da was übersehen und man kann bei Level auch Anfänger VBA einstellen? ich wollte mit dem Level nur verhindern antworten für Dumme zu bekommen...
Anzeige
AW: Shapes-Eigenschaften
13.09.2005 23:39:59
Ramses
Hallo
Das Level-Problem ist so uralt ....
Anyway,... es gibt keine Antworten für Dumme.
Die sind höchtens etwas ausführlicher :-)
Gruss Rainer
AW: Shapes-Eigenschaften
13.09.2005 23:59:08
windalf
es klappt doch nicht so wie ich gedacht habe... folgendes versteh ich nicht...
count_shapes = ActiveSheet.Shapes.Count

count_relevant_shapes = 0
For i = 0 To count_shapes - 1
If ActiveSheet.Shapes(i + 1).Type = msoShapeRectangle Or ActiveSheet.Shapes(i + 1).Type = msoShapeOval Then
x_pos(i) = ActiveSheet.Shapes(i + 1).Left
y_pos(i) = ActiveSheet.Shapes(i + 1).Top + ActiveSheet.Shapes(i + 1).Height / 2
shapesorder(i) = i
count_relevant_shapes = count_relevant_shapes + 1
End If
Next i
MsgBox(count_relevant_shapes)...
Ich habe mir 8 Shapes auf der tabelle gemalt... ein paar Ovale und ein paar Rechtecke und genau einen Pfeil... Warum schmeisst er mir immer 8 aus obwohl es nur 7 sein dürfen... wo ist da in meiner Bedinung der Wurm... Ich versteh es einfach nicht... Wenn ich noch nen Pfeilchen dazunehme werden es halt 9 obwohl es 7 sein sollten...
Hab ich gerade ein totales Brett vorm Kopf oder was mach ich falsch?
Anzeige
AW: Shapes-Eigenschaften
14.09.2005 01:06:01
Nepumuk
Hi,
Ovale und Rechtecke sind von Type ein MsoShapeType mit den Werten:
msoAutoShape = 1 (für Rechteck und Oval)
msoLine = 9
die MsoAutoShapeType haben folgende Werte:
msoShapeRectangle = 1
msoShapeOval = 9
Du musst als nicht den Type, sondern den AutoShapeType abfragen.
Gruß
Nepumuk

AW: Shapes-Eigenschaften
14.09.2005 21:16:38
Windalf
Besten Dank Nepi...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige