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

Kreisdiagramm

Kreisdiagramm
08.11.2013 05:21:28
Eddy
Hallo liebe Excel-Freunde,
ich habe für meine Technikerarbeit folgendes Excel-Tool entworfen... https://www.herber.de/bbs/user/87985.xlsx
Und zwar möchte ich oben in der Tabelle die ganzen Parameter, die für den Blechschnittstreifen relevant sind, eingeben und drunter errechnen sich anhand von bestimmten Funktionen die Vorschubmaße bzw. die Bandabmessungen.
Nun möchte ich aber zur besseren visuellen Darstellung anstelle der Zkizze unten ein interaktives Diagramm erstellen, welches sich z.B. auf Knopfdruck automatisch regeneriert, je nachdem welche Werte ich oben in der Tabelle eingebe. Leider komme ich aber mit meinen Grundkenntnissen nicht zum gewünschten Ziel. Das standard Blasendiagramm ist mir nicht aussagekräftig genug.
Vielleicht könnte mir jemand Tipps geben, wie man sowas in Excel darstellen kann?
Gruss Eddy

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kreisdiagramm
08.11.2013 11:52:12
Bastian
Hallo Eddy,
nachfolgend mal ein Makro, welches den Schnittstreifen zeichnet.
Es werden allerdings, wie in Deiner Skizze, immer nur die 9 Lochungen gezeichnet (auch wenn von der Streifenbreite her mehr Löcher passen würden). Das Ganze lässt sich also noch optimieren.
Du hast noch ein Problem bei der Berechnung von VL1: VL1 darf nicht kleiner als D/2 werden, sonst überschneiden sich die Löcher im Schnittstreifen. Das kannst Du nun schön in der Skizze sehen.
Gruß, Bastian

Option Explicit
Sub Draw_Schnittstreifen()
Dim intStartX As Integer, intStartY As Integer, i As Integer
Dim intScale As Double
Dim D As Double
Dim a As Double
Dim VL1 As Double, VL2 As Double
Dim VLQ2 As Double
Dim B2 As Double
On Error Resume Next
ActiveSheet.Shapes.Range(Array("Schnittstreifen")).Delete
On Error GoTo 0
intStartX = 0
intStartY = 300
intScale = 0.5
With Sheets("Schnittstreifen")
D = .Range("D")
B2 = .Range("B2_")
a = .Range("a")
VL1 = .Range("E15")
VL2 = 2 * VL1
VLQ2 = .Range("E16")
End With
'Platine
ActiveSheet.Shapes.AddShape(msoShapeRectangle, intStartX, intStartY, (2 * VL2 + VL1 + D) *  _
intScale, B2 * intScale).Select
Selection.ShapeRange.ShapeStyle = msoShapeStylePreset11
'Obere Reihe
For i = 0 To 2
ActiveSheet.Shapes.AddShape(msoShapeOval, (intStartX + i * VL2) * intScale, intStartY +  _
a / 2, D * intScale, D * intScale).Select
Next i
'Mittlere Reihe
For i = 0 To 2
ActiveSheet.Shapes.AddShape(msoShapeOval, (intStartX + VL1 + i * VL2) * intScale,  _
intStartY + a / 2 + VLQ2 * intScale, D * intScale, D * intScale).Select
Next i
'Untere Reihe
For i = 0 To 2
ActiveSheet.Shapes.AddShape(msoShapeOval, (intStartX + i * VL2) * intScale, intStartY +  _
a / 2 + 2 * VLQ2 * intScale, D * intScale, D * intScale).Select
Next i
Call Gruppieren
End Sub
Sub Gruppieren()
Dim varShape() As Variant
Dim shShape As Shape
Dim shGruppe As Shape
Dim intAnzahl As Integer
For Each shShape In Sheets("Schnittstreifen").Shapes
' Debug.Print shShape.Name & "  /  " & shShape.Type
If shShape.Type  13 And shShape.Type  8 Then  'Bilder und Button ausschliessen
intAnzahl = intAnzahl + 1
ReDim Preserve varShape(1 To intAnzahl)
varShape(intAnzahl) = shShape.Name
End If
Next shShape
Set shGruppe = ActiveSheet.Shapes.Range(varShape).Group
shGruppe.Name = "Schnittstreifen"
ActiveSheet.Shapes.Range(Array("Schnittstreifen")).Select
Selection.ShapeRange.IncrementLeft 50
End Sub

Anzeige
AW: Kreisdiagramm
08.11.2013 12:02:31
Bastian
Korrektur:
VL1 darf nicht kleiner als (D+e)/2 werden.

AW: Kreisdiagramm
08.11.2013 13:14:22
Eddy
Danke Bastian für die schnelle Antwort, aber in Sachen Makro kenne ich mich über haupt nicht aus. Könntest du mir das genauer erklären wie ich diesen script in meine Excel Datei einbinde?

AW: Kreisdiagramm
08.11.2013 13:44:17
Bastian
Hallo Eddy,
1. Mit Alt+F11 kommst Du in die Entwicklungsumgebung.
2. Im Menü "Einfügen" - "Modul"
3. Den Code ins Codefenster (rechts) kopieren. Sollte das Fenster nicht da sein, mit F7 einblenden.
4. Im Excel- Menü unter "Ansicht" - "Makros" kannst Du auf die Makros zugreifen und mit "Ausführen" starten.
Alternativ kannst Du auch einen Button in das Tabellenblatt einbauen, über den Du das Makro starten kannst. Bei Problemen meld Dich noch mal. Wenn gar nichts geht, kann ich Dir auch die Mappe mit Makro hier hochladen.
Gruß, Bastian

Anzeige
AW: Kreisdiagramm
08.11.2013 22:12:22
Bastian
Hallo Eddy,
Anbei mal die Datei samt Makro:
https://www.herber.de/bbs/user/88002.xlsm
Ich hab mir erlaubt, Deine Datei noch ein wenig zu oprimieren: Es wird nun auch berechnet, wieviele Platinenreihen bei gegebener Bandbreite auf den Schnittstreifen passen. Probier z. B. mal einen Platinendurchmesser von 150 aus.
Ausserdem kann es nun nicht mehr zur Überschneidung von Platinen kommen.
Gruß, Bastian

AW: Kreisdiagramm
09.11.2013 15:34:32
Eddy
Hallo Bastian,
hab dein erstes Makro ausprobiert und bin begeistert, genau so habe ich mir das vorgestellt :-)
Dein zweites Makro hast du auch echt super umgesetzt.
Erstmal vielen Dank für deine Bemühungen.
Das mit den Überschneidungen ist eigentlich nicht so schlimm gewesen.
Für die Platinenreihen habe ich ein Excel-Tool erstellt, welches mir ausrechnet welches Streifenbild (von insgesamt 4 Möglichkeiten) die optimalste Streifenausnutzung hat und dem Benutzer dann die Bandabmessungen ausgibt. In diesem Tool ist dann auch berücksichtigt ob es zu Überschneidungen kommt oder nicht. Letztendlich soll dann eigentlich nur durch klicken auf einen Button dieses Streifenbild dann noch visuell ausgegeben werden, wobei ich gescheitert bin.
Also wenn du mal Zeit und Lust hast, könntest du mir vielleicht noch Makros für die 3 anderen Streifenbilder erstellen? Ich werde dann versuchen diese dann in mein Excel-Tool einzubauen.
Hier die Streifenbilder:
https://www.herber.de/bbs/user/88009.xlsx
https://www.herber.de/bbs/user/88010.xlsx
https://www.herber.de/bbs/user/88011.xlsx
Gruß, Eddy

Anzeige
AW: Kreisdiagramm
09.11.2013 16:51:25
Bastian
Hallo Eddy,
für die Variante "2-fach gezogen" kannst Du auch die Datei nehmen, die ich hochgeladen habe (gib mal die Werte ein).
Für die versetzten Varianten müsste man das Makro anpassen. Vielleicht kann man auch hier beide Varianten in einer Datei erschlagen. So genau hab ich es mir noch nicht angesehen. Ich lasse den Thread mal offen.
Gruß, Bastian

AW: Kreisdiagramm
09.11.2013 19:50:10
Eddy
Hallo Bastian,
ah ja richtig, hast Recht. Das ist ja super, dann kann ich das Makro ja auch für unendlichfache Platinenreihen verwenden. Danke dir
Gruß, Eddy

AW: Kreisdiagramm
10.11.2013 22:59:57
Bastian
Hallo Eddy,
anbei schon mal die Version "3-fach versetzt":
https://www.herber.de/bbs/user/88027.xlsm
Bekommst Du die Variante "2-fach versetzt" selbst angepasst?
Ansonsten einfach noch mal melden.
Gruß, Bastian

Anzeige
AW: Kreisdiagramm
11.11.2013 18:47:06
Eddy
Hallo Bastian,
danke dir, das passt alles wunderbar soweit.
Für die 2-Fach versetzt Variante wüsste ich nicht wie ich genau das Makro abändern müsste, das es klappt. Könntest du das vielleicht noch machen?
Gruß, Eddy

AW: Kreisdiagramm
11.11.2013 20:45:16
Bastian
Hallo Eddy,
hier noch die fehlende Variante "2-fach versetzt":
https://www.herber.de/bbs/user/88042.xlsm
Ich habe den Code vereinzelt mit Kommentaren versehen. So kannst Du zumindest grob nachvollziehen, was passiert. Hilfreich ist vielleicht auch, wenn Du den Code mal mit F8 im Einzelschritt durchläufst. Dann kannst Du bei jeder Programmzeile sehen, was passiert. Wenn Du in der Entwicklungsumgebung mit Menü "Ansicht" noch das Lokal-Fenster einblendest, kannst Du dort verfolgen, welche Werte die Variablen z. Z. haben.
Gruß, Bastian

Anzeige
AW: Kreisdiagramm
16.11.2013 03:05:13
Eddy
Hallo Bastian,
danke nochmal für deine Hilfe und deine Tipps. Hab deine Makros in mein Excel-Tool eingebaut. Dank deinen Kommentaren wurde das Ganze dann auch noch viel klarer. Es läuft wunderbar :-)
Nun bin ich aber neugierig geworden...
Da das Ganze ja mit VisualBasic programmiert ist, könnte man die Codes dann auch ohne weiteres benutzen um eine Windows .exe Anwendung mit Microsoft Visual Basic zu schreiben? Wäre der Aufwand sehr groß?
Gruß, Eddy

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige