Anzeige
Archiv - Navigation
1560to1564
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

Startpunkt für Kreis sinnvoll setzen

Startpunkt für Kreis sinnvoll setzen
13.06.2017 16:52:48
Max2
Hallo Leute,
ich habe aus Spaß einen kleinen Code geschrieben, welcher
einen Kreis in Excel "zeichnet".
Mein Problem liegt aber, einen Sinnvollen Startpunkt zu setzten für die x- und y-Achse.
Habt ihr eine Idee wie man die Startpunkte sinnvoll ermitteln könnte?
Hier der Code(es geht um startX u. startY):
Option Explicit
Private Sub CellToDraw(ByVal radius As Integer)
Dim y0 As Integer, y1 As Integer
Dim x As Integer, y As Integer
Dim startX As Integer, startY As Integer
startX = radius * 2: startY = radius * 2
For x = (radius * -1) To radius
y1 = Sqr(radius * radius - x * x)
For y = y0 To y1
Cells(x + startX, y + startY).Interior.ColorIndex = 4
Cells(x + startX, y * -1 + startY).Interior.ColorIndex = 4
Cells(x * -1 + startY, y + startY).Interior.ColorIndex = 4
Cells(x * -1 + startX, y * -1 + startY).Interior.ColorIndex = 4
Next y
y0 = y1
Next x
End Sub
Sub MyCircle()
Dim radius As Integer
radius = Application.InputBox("Bitte geben Sie den Radius als Ganzzahl ein", "Kreis in  _
Excel", Type:=1)
CellToDraw (radius)
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Startpunkt für Kreis sinnvoll setzen
13.06.2017 17:49:32
Hajo_Zi
es fehlt die Angabe was sinnvoll ist? Oder habe ich was überlesen.
Falls Auswahl
Sub Kreis_um_Auswahl()
'   von xxx Herber.de (Udo RiHü)
'   Kreis um Auswahl
Dim X As Long
Dim w As Long
Dim y As Long
Dim rngSel As Range
Set rngSel = Selection
X = Selection.Left
w = Selection.Width
y = Selection.Top + (Selection.Height - w) / 2
ActiveSheet.Shapes.AddShape(msoShapeOval, X, y, w, w).Select
With Selection.ShapeRange
.Fill.Visible = msoFalse
.Line.Weight = 1.5
.Line.DashStyle = msoLineSolid
.Line.Style = msoLineSingle
.Line.Visible = msoTrue
End With
Application.Goto reference:=rngSel, Scroll:=True
End Sub


Anzeige
AW: Startpunkt für Kreis sinnvoll setzen
13.06.2017 19:18:49
Max2
Erstmal danke für deine Kritik.
Der Sinn der ganzen Geschichte ist nicht, den Kreis als Shape
zu Zeichnen, dafür reicht der Rekorder.
Ich wollte einfach mal den Bresenham Algorithmus ausprobieren in VBA.
Die Geschwindigkeit ist in VBA allerdings nicht überragend...
Mir fällt aber momentan keine Sinnvolle Ermittlung eines Startpunktes ein.
Der Kreis sollte halbwegs mittig im Bild sein und einen sich anpassenden Zoom
haben(also Excel soll dann Zoomen), aber da fällt mir schon noch was ein.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige