Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1096to1100
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

VBA: AddShape

VBA: AddShape
Torsten
Hallo beisammen,
ich brauche Hilfe für die richtige Syntax eines Codes, den ich zunächst über den Makrorekorder aufgezeichnet habe:
' ActiveSheet.Shapes.AddShape(msoShapeOval, 273#, 764.25, 80.25, 38.25).Select
' Selection.ShapeRange.Fill.Visible = msoFalse
' Selection.ShapeRange.Fill.Solid
' Selection.ShapeRange.Fill.Transparency = 0#
' Selection.ShapeRange.Line.Weight = 2.25
' Selection.ShapeRange.Line.DashStyle = msoLineSolid
' Selection.ShapeRange.Line.Style = msoLineSingle
' Selection.ShapeRange.Line.Transparency = 0#
' Selection.ShapeRange.Line.Visible = msoTrue
' Selection.ShapeRange.Line.ForeColor.SchemeColor = 10
' Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
und nun bearbeitet habe. Allerdings kommt noch eine Fehlermeldung "Anwendungs- oder objektorientierter Fehler". Excel springt dann in die 1. Zeile des Codes.
With ActiveSheet
.Shapes.AddShape msoShapeOval, 273#, 764.25, 80.25, 38.25
.ShapeRange.Fill.Visible = msoFalse
.ShapeRange.Fill.Solid
.ShapeRange.Fill.Transparency = 0#
.ShapeRange.Line.Weight = 2.25
.ShapeRange.Line.DashStyle = msoLineSolid
.ShapeRange.Line.Style = msoLineSingle
.ShapeRange.Line.Transparency = 0#
.ShapeRange.Line.Visible = msoTrue
.ShapeRange.Line.ForeColor.SchemeColor = 10
.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
End With
Könnt Ihr mir weiterhelfen? Vielen Dank im voraus.
Gruß
Torsten

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA: AddShape
18.08.2009 14:28:47
Rudi
Hallo,
so:
Sub tt()
Dim shp As Shape
With ActiveSheet
Set shp = .Shapes.AddShape(msoShapeOval, 273#, 764.25, 80.25, 38.25)
End With
With shp
.Fill.Visible = msoFalse
.Fill.Solid
.Fill.Transparency = 0#
.Line.Weight = 2.25
.Line.DashStyle = msoLineSolid
.Line.Style = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoTrue
.Line.ForeColor.SchemeColor = 10
.Line.BackColor.RGB = RGB(255, 255, 255)
End With
End Sub

Gruß
Rudi
AW: VBA: AddShape
18.08.2009 14:36:26
Torsten
Hallo Rudi,
vielen Dank für Deine Rückmeldung. Klappt wunderbar.
Darf ich noch eine kleine Ergänzung erfragen?
Wie müßte Code im oberen Teil angepaßt werden. sodaß die Markierung über die Zelle gesetzt wird, die gerade markiert ist?
Gruß
Torsten
Anzeige
AW: VBA: AddShape
18.08.2009 15:24:34
Rudi
Hallo,
Sub tt()
Dim shp As Shape
Dim l As Single, t As Single, w As Single, h As Single, ws As Single, hs As Single
With ActiveCell
l = .Left
t = .Top
h = .Height
w = .Width
End With
ws = 80.25
hs = 38.25
With ActiveSheet
Set shp = .Shapes.AddShape(msoShapeOval, l + w / 2 - ws / 2, t + h / 2 - hs / 2, ws, hs)
End With
With shp
.Fill.Visible = msoFalse
.Fill.Solid
.Fill.Transparency = 1#
.Line.Weight = 2.25
.Line.DashStyle = msoLineSolid
.Line.Style = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoTrue
.Line.ForeColor.SchemeColor = 10
.Line.BackColor.RGB = RGB(255, 255, 255)
End With
End Sub

Gruß
Rudi
Anzeige
erledigt - mT
18.08.2009 15:29:52
Torsten
Hallo Rudi,
perfekt - das hätte ich mit meinen bescheidenen Kenntnissen nie hinbekommen.
Hab' vielen Dank für Deine Hilfe.
Gruß
Torsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige