Anzeige
Archiv - Navigation
1692to1696
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

Automatische Erstellung von Diagrammen

Automatische Erstellung von Diagrammen
27.05.2019 16:02:55
Diagrammen
Hallo,
da mein letzter Beitrag irgendwie nicht mehr auftaucht und im Archiv gelandet ist verlinke ich ihn hier nochmal und würde gerne nochmal auf mein Problem zurück kommen.
https://www.herber.de/cgi-bin/callthread.pl?index=1693607#1693607
Die Erstellung der Datenreihen anhand von Nutzereingaben funktioniert optimal, jedoch habe ich nun noch das Problem, dass ich das nach wie vor nicht richtig in ein Diagramm bekomm. Die Werte aus "Tabelle 2" sollen in einem Diagramm auf "Tabelle 1" ausgespuckt werden, jedoch immer vollständig. In Tabelle 2 können mal 5 Werte stehen oder mal 1000+ und die Wertetabellen, sowie die verwendeten Spalten muss ich anschließend über Vorauswahlen ändern können. Das heißt das ganze sollte soweit Varaibel bleiben, damit ich den Code an die vielzahl an möglichkeiten via Vorauswahlen anpassen kann.
Hier die Arbeitsmappe:
https://www.herber.de/bbs/user/130059.xlsm
Vielen Dank für eure bisherige Hilfe.
Grüße
Markus

27
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Erstellung von Diagrammen
27.05.2019 23:16:11
Diagrammen
Hi Markus,
ich würde auf jeden Fall anstelle des Linien- ein Punkt-Diagramm verwenden.
Was verstehst du unter "Vielzahl an Möglichkeiten"? Betrifft dies nur die Anzahl an Werten, die sich aus der Berechnung ergeben, wobie immer die Spalten O und P die darzustellenden Daten enthalten?
Falls ja, dann kannst du das Diagramm mit folgendem Code anpassen:
    With Worksheets("Tabelle1").ChartObjects(1).Chart
.FullSeriesCollection(1).XValues = Worksheets("Tabelle2").Range("$C$2:$C$" & LR)
.FullSeriesCollection(1).Values = Worksheets("Tabelle2").Range("$O$2:$O$" & LR)
.FullSeriesCollection(2).XValues = Worksheets("Tabelle2").Range("$C$2:$C$" & LR)
.FullSeriesCollection(2).Values = Worksheets("Tabelle2").Range("$P$2:$P$" & LR)
End With

Wenn du unter "variabel" etwas anderes verstehst, dann müsstest du das schon konkreter sagen.


Anzeige
AW: Automatische Erstellung von Diagrammen
28.05.2019 11:11:10
Diagrammen
Hallo,
ah jetzt versteh ich glaub ich wie das funktioniert mit der FullSerieCollection. Ja genau so hab ich mir das vorgestellt. :) Ähm ja auf jeden Fall Punktdiagramm.. weiß nicht wieso ich da ein Liniendiagramm drinne hatte.
Hätte dan noch ein paar weitere Fragen. Habe hierzu schon gegoogelt und ein paar sachen gefunden aber durchblick die Funktionsweis nicht wirklich und möchte möglichst alles verstehen was ich da rein schreib.
Ist es möglich das sich die x-Achse entsprechend mit Formatiert, wenn es zu viele Werte werden, dass dan die Schrittweite auf der x-Achse größer wird? Die y-Achse formatiert sich ja automatisch mit.
Kann der Diagrammtitel automatisch anhand einer Datenüberprüfunsliste eingetragen werden?
Mit Variabel meine ich, dass z.B hier die x-Values, welche sich auf die Bauteilbreite beziehen, durch eine Auswahl in einem Userinterface eingestellt werden können. Ich möchte über die Datenüberprüfung Liste das so Einstellen lassen können, dass ich sagen kann ich möchte jetzt die Momente über eine Variable Klebschichtdicke darstellen lassen usw.. Das selbe dan für y-Werte. Es müssten dan die Spalten gewählt werden die über die Datenüberprüfungsliste eingestellt werden. Hoffe ich konnte es verständlich ausdrücken.
Dankeschön für die Hilfe!
Grüße
Markus
Anzeige
Unklare Fragestellung
28.05.2019 11:30:36
Beverly
Hi Markus,
die Schrittweite, also die Anzahl an Hauptstrichen der Horizontalachse passt sich doch automatisch so an, dass die Beschriftung lesbar ist.
Deine Aussage zur Variabilität der Diagrammdarstellung ist leider absolut unkonkret - in deiner Mappe gibt es z.B. weder den Begriff Bauteilbreite noch Klebschichtdicke.
Wenn du damit meinen solltest, dass du unterschiedliche Spalten deiner Wertetabelle in Abhängigkeit von irgendeiner Auswahl darstellen willst, dann musst du dem Diagramm den gesamten Bereich als Datenquelle zuweisen und dann in einer Schleife über alle Datenreihen laufen, wobei die nicht gewünschten ausgeblendet werden.


Anzeige
AW: Unklare Fragestellung
28.05.2019 12:12:09
Markus
Hallo,
stimmt ja das passt sich mit an. Hatte nur gerade den Fall das die Zahlen zu groß waren und dadurch aneinander gestoßen sind. Aber ist ja normal nicht der Fall bzw. muss ich in den Spalten eh Runden.
Die Werte werden aus Tabelle 1 übernommen und immer wieder neu berechnet und in Tabelle 2 eingetragen. Ich hatte nur noch nicht die Tabellenbeschriftung in Tabelle 2 vorgenommen. Habe das jetzt nachgeholt.
Aber ja genau wie du es beschrieben hast würde ich es gerne machen, dass unterschiedliche Spalten einer Wertetabelle anhand einer Auswahl für das Diagramm verwendet werden. Also sozusagen in Worten
If Zelle ... = Bauteilbreite dann Range "$C$2:$C$" & LR und das ganze für alle Variablen (Variable größen sind alle in Tabelle 1 unter Werkstoffdaten, Geometrie und Angreifende Kräfte)
Kann ich hierzu eine If Schleife in der Range starten oder muss ich eine Variable deklarieren, die das Ergebnis einer solchen if Schleife ist. Wie könnte sowas aussehen? Bräuchte nur ein Beispiel, dann sollte ich es auf die Gesamte Arbeitsmappe ausweiten können.
Hier nochmal die vervollständigtere Mappe:
https://www.herber.de/bbs/user/130081.xlsm
Danke für die Geduld.. Tu mir da echt bisschen schwer.
Grüße
Markus
Anzeige
Weiterhin unklare Fragestellung
28.05.2019 13:07:00
Beverly
Hi Markus,
unter den von dir genannten Rubriken Werkstoffdaten, Geometrie und Angreifende Kräfte stehen m.E. nur die Ausgangswerte für die Berechnungen - im Diagramm dagegen sollen doch sicher die Rubriken die unter "Berechnete Werte" aufgeführt sind dargestellt werden, und das würde die Spalten H bis P in Tabelle2 betreffen. WO steht denn nun ganz konkret, WELCHE Spalten davom im Diagramm dargestellt werden sollen? Du solltest also erst einmal dein Auswahlsystem konkret festlegen und in die Mappe implementieren, ehe man daran gehen kann, alles weitere darauf aufzubauen.


Anzeige
AW: Weiterhin unklare Fragestellung
29.05.2019 14:11:52
Markus
Hallo,
ok ich versuchs nochmal besser zu erklären bzw. habe ein Tabellenblatt eingefügt, dass man sieht welche auswahlen zum Beispiel getroffen werden. Ich möchte zum Beispiel im Diagramm sehen können die Momente dargestellt über die Bauteildicke oder nur das Moment nach Hart-Smith über die Überlappunslänge. Habe das jetzt gerade so versucht, dass ich den Code kopiert habe und mal 2 Möglichkeiten versucht habe darzustellen. Jedoch scheiterts da schon an der Erstellung der Wertetabelle. Weiß da nicht genau wie ich den Code ändern muss, damit die Schleife zur Erstellung der Wertetabelle bei der richtigen Größe ansetzt.
Ziel ist es sozusagen, dass in der Tabelle User_Oberflaeche per Dropdownmenü eingstellt wird welche berrechneten Werte ich über welche Bauteilgeometrie darstellen möchte. Diese Werte dan in einer Schleife mit den vorgegeben Bauteilgeometrien berrechnet wird und daraus das Diagramm erstellt wird. Das ganze funktioniert für eine Bauteilgeometrie und den zwei berrechneten Momenten ja schon ganz gut aber ich muss das jetzt ausweiten können auf andere Geometrien und berrechnete Werte.
https://www.herber.de/bbs/user/130102.xlsm
Denke jetzt ist es verständlich.
Vielen Dank.
Grüße
Markus
Anzeige
AW: Weiterhin unklare Fragestellung
29.05.2019 14:53:02
Beverly
Hi Markus,
in deinem Tabellenblatt User_Oberflaeche gibt es ZWEI Gültigkeitslisten, mit Hilfe derer man ZWEI von einander abhängige Begriffe aus wählen kann (im Beispiel ist es "Moment nach Hart-Smith" in Abhängigkeit von "Dicke des Bauteils"), was im Diagramm EINE Kurve ergeben würde. In deinem Diagramm sind jedoch ZWEI Datenreihen eingetragen - was ist denn nun richtig: sollen es mehrere Datenreihen in Abhängigkeit von einem Parameter sein oder immer nur eine Datenreihe von einem Parameter? Bei mehreren Datenreihen in Abhängigkeit von einem Parameter geht das dann aber nicht so wie in deiner User_Oberflaeche vorgegeben.


Anzeige
AW: Automatische Erstellung von Diagrammen
28.05.2019 14:26:26
Diagrammen
Hallo Markus,
habe gerade deinen Beitrag entdeckt...
Hilft das evtl. weiter bei der Auswahl der Daten?
Bei Doppelklick auf den Wert in Spalte B wird die Datenreihe ins Diagramm geladen.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Worksheets("Tabelle1").ChartObjects(1).Chart.FullSeriesCollection(1)
If Target.Cells = Cells(13, 2) Then .Values = "=Tabelle2!$H$2:$H$100"
If Target.Cells = Cells(14, 2) Then .Values = "=Tabelle2!$I$2:$I$100"
If Target.Cells = Cells(15, 2) Then .Values = "=Tabelle2!$J$2:$J$100"
If Target.Cells = Cells(16, 2) Then .Values = "=Tabelle2!$K$2:$K$100"
If Target.Cells = Cells(17, 2) Then .Values = "=Tabelle2!$L$2:$L$100"
If Target.Cells = Cells(18, 2) Then .Values = "=Tabelle2!$M$2:$M$100"
If Target.Cells = Cells(19, 2) Then .Values = "=Tabelle2!$N$2:$N$100"
If Target.Cells = Cells(20, 2) Then .Values = "=Tabelle2!$O$2:$O$100"
If Target.Cells = Cells(21, 2) Then .Values = "=Tabelle2!$P$2:$P$100"
End With
If Not Intersect(Target, Range(Cells(13, 2), Cells(21, 2))) Is Nothing Then Cancel = True
End Sub

Anzeige
AW: Automatische Erstellung von Diagrammen
29.05.2019 14:15:08
Diagrammen
Hallo Rainer,
die Idee ist nicht schlecht aber es sollen zwischen der Eingabe, welche Diagramme gewünscht sind, und der ausgabe der Diagramme keine weiteren Arbeitsschritte gemacht werden müssen. Die Listen werden dan länger und es gibt mehr Berrechnete Werte und der Nutzer soll sich nur noch die Werte aussuchen, welche er darstellen lassen möchte und eingeben von wie viel bis wie viel das Diagramm darstellen soll.
Vielen Dank.
Grüße
Markus
AW: Automatische Erstellung von Diagrammen
29.05.2019 14:42:40
Diagrammen
Hallo Markus,
in deiner neuen Mappe fehlen zur Auswahl:
Biegesteifigkeit
Flächenträgheitsmoment
Biegesteifigkeitsparameter
Halbe Überlappungslänge
Exzentritätsfaktor Hart-Smith
Exzentritätsfaktor GuR
Exponent der Biegespannungsverteilung
Braucht es die nicht?
Aber ich mach mal was, so dass du die Diagramme über deine Dropdownliste erstellen und verändern kannst. Muss mal in meinem Archiv den Code zur Skalierung suchen.
Gruß, Rainer
Anzeige
AW: Automatische Erstellung von Diagrammen
29.05.2019 15:02:43
Diagrammen
Hallo,
ne die Werte braucht es nicht. Das sind nur zwischen Ergebnisse die für die weiter vorgehensweise benötigt werden. Das Moment ist auch noch lange nicht das Endergebnis. Ich muss das ganze mit was ihr mir weiterhilft dan lernen und verstehen, damit ich es dan selbst anwenden kann. Das ist eigentlich das Ziel. Schließlich muss ich die Arbeit ja auch verteidigen können und dan kommt es nicht gut, wenn ich sage ich habe keine Ahnung wie das Funktioniert. Darum versuch ich möglichst das zu verstehen was ihr mir alles gibt.
Danke für die Hilfe! :)
Grüße
Markus
AW: Automatische Erstellung von Diagrammen
29.05.2019 15:15:11
Diagrammen
Langsam kommen wir der Sache näher.
Momente im Vergleich meint dann also beide Momente in einem Diagramm?
Je nachdem welche Größe du im Dropdown wählst soll die Tabelle neu berechnet werden?
Wenn ich jetzt erst die Bauteilbreite variiere und dann die Kraft, dann rechnet er aber mit dem MAX Wert der Bauteilbreite. Welcher Wert wäre da richtig?
Gruß, Rainer
AW: Automatische Erstellung von Diagrammen
29.05.2019 16:29:57
Diagrammen
https://www.herber.de/bbs/user/130106.xlsm
Es werden beide Momente dargestellt. Somit funktioniert nur die rechte Dropdownliste. Jede Änderung an der Dropdownliste löst eine neue Berechnung aus.
AW: Automatische Erstellung von Diagrammen
29.05.2019 16:31:06
Diagrammen
Genau es soll auf Wunsch auch beide Moment angezeigt werden. Ansonsten wird meistens nur eine Datenreihe angezeigt werden.
Ja genau, wenn ich im Dropdown auswähle Momente über Breite dan soll sich die Wertetabelle neu berrechnen und daraus das Diagramm gemacht werden. Wenn man dan möchte das sich die Kraft ändert kann man gleichzeitig nicht mehr die Breite ändern. Das würde also so passen. Die anderen Geometrien und Parameter, welche von Werkstoffen etc. stammen werden vom Nutzer eingetragen.
Anwendungsbeispiel:
Ich möchte wissen wie sich die Momente von Hart-Smith und Goland und Reisner verhalten, wenn ich die Bauteilbreite variere.
Dan gebe ich alle notwendigen Daten ein und Wähle im Dropdown Variable Bauteilbreite aus und starte das Makro per Button oder ähnliches.
Dan wird mit den eingebenen Werten und der variablen, welcher ich einen Bereich und eine Schrittweite gebe, eine Wertetabelle erstellt und diese als Diagramm wiedergegeben.
Wenn ich wieder was neues machen möchte ändere ich wieder die Werte und wähle im Dropdown bspw. Bauteildicke aus und lasse mir dan die Momente über der Bauteildicke anzeigen.
Das wäre so der Vorgang wie das laufen soll. Ich muss das ganze dan natürlich erweitern um weitere Formeln und Eingabeparameter. Aber soweit bin ich bei dem Rechenverfahren noch nicht. Darum erstmal nur die Momente.
Dazu gleich eine Frage: Weiter Ergebnisse werden mit einem Iterationsverfahren gelöst. Kann ich in der Schleife und dem Code der gerade vorhanden ist für die Werte, welche mit Iterationsverfahren gelöst werden einfach ein #Call makro in den Code nehmen? Sodass nicht einfach ein Wert übernommen wird sondern dieser Wert in einem extrigen Makro berrechnet wird.
Ja jetzt kommen wir schon näher. :D
Ich merk schon es ist gar nicht so leicht zu verstehen wenn ich hier immer nur Text bringen kann.. :(
Danke für die Mühen.
Grüße
Markus
AW: Automatische Erstellung von Diagrammen
29.05.2019 22:21:52
Diagrammen
Hallo Markus,
hier noch ein Update.
https://www.herber.de/bbs/user/130108.xlsm
Ich habe den Code etwas optimiert (Kopieren über Array statt Copy.Paste) und die Auswahl der Module hinzugefügt.
Kannst du dein Iterationsverfahren näher beschreiben? Dann kann man auch den Code anpassen.
Gruß, Rainer
AW: Automatische Erstellung von Diagrammen
03.06.2019 13:38:06
Diagrammen
Hallo Markus,
falls du noch Interesse hast, dann schreib bitte in diesem Thread weiter.
Ich mach hier mal eine Nachricht rein, damit er nicht im Archiv landet.
Hier der Link zum Thread, wo du noch bearbeiten kannst: https://www.herber.de/forum/messages/1695353.html
Gruß, Rainer
AW: Automatische Erstellung von Diagrammen
03.06.2019 20:52:15
Diagrammen
Hallo,
melde mich wieder zurück.... Hatte die letzten 4 Tage kein Internet....
Danke das du den Thread akutell gehalten hast.. Hab mir jetzt heute deinen Code und die Excel genau angeschaut. Das ist echt super! Bin gerade dabei den Code zu verstehen.. (Hoffe ich zumindest)
Versteh jedoch nicht wie die x-Values ausgewählt werden. Komischerweise werden nur 20 Werte genommen aus der Tabelle 2. Wenn ich den E-Modul mit 210000 eingebe fängt die Tabelle irgendwie bei 10009000 an.
Ist auf jedem Fall auf dem richtigen Weg! Hätte ich so nie hinbekommen. Ich könnte nur alles Manuell eingeben.. aber so ist das echt sehr viel nutzerfreundlicher.
Danke. :)
Grüße
Markus
AW: Automatische Erstellung von Diagrammen
03.06.2019 21:11:05
Diagrammen
Hallo Markus,
sorry, mein Fehler. Die Schleife darf natürlich nicht den Wert "Schritt" benutzen, um den Zähler hochzuzählen.
Die Auswahl der x-Werte erfolgt über Zelle K1. Diesen Wert namens "WERT" sucht er dann in Spalte B. Die Zeilennummer aus Spalte B entspricht der Spaltennummer in Tabelle2 (-2, da die Kopfzeilen fehlen).
Nimm mal diesen Code für "Modul1":
Sub Berechnen()
Dim VON, BIS, Schritt, i, S As Integer
Dim TB1, TB2, LR As Long, Z As Long
Dim ARR
Set TB1 = Sheets("Tabelle1")
Set TB2 = Sheets("Tabelle2")
WERT = TB1.Cells(1, 11)
WERT = WorksheetFunction.Match(WERT, TB1.Range("B:B"), 0)
VonString = "Eingabe: " & TB1.Cells(WERT, 2) & " Von (in " & TB1.Cells(WERT, 6) & ")"
VON = InputBox(VonString, "", 1)
BisString = "Eingabe: " & TB1.Cells(WERT, 2) & " Bis (in " & TB1.Cells(WERT, 6) & ")"
BIS = InputBox(BisString, "", 10)
Schritt = InputBox("Eingabe Schrittweite ", "", 1)
OriginalWert = TB1.Cells(WERT, 5)
LR = TB1.Cells(TB2.Rows.Count, "B").End(xlUp).Row 'letzte Zeile der Spalte
TB2.UsedRange.ClearContents
ARR = TB1.Range(TB1.Cells(3, 3), TB1.Cells(LR, 3))
TB2.Range(TB2.Cells(1, 1), TB2.Cells(1, LR - 2)) = Application.Transpose(ARR)
Zeile = 2
    AnzahlWerte = 1 + (BIS - VON) / Schritt
For i = 1 To AnzahlWerte Step 1
        TB1.Cells(WERT, 5) = VON + Schritt * (i - 1)
ARR = TB1.Range(TB1.Cells(3, 5), TB1.Cells(LR, 5))
TB2.Range(TB2.Cells(Zeile, 1), TB2.Cells(Zeile, LR - 2)) = Application.Transpose(ARR)
Zeile = Zeile + 1
Next i
TB1.Cells(WERT, 5) = OriginalWert
Spalte = SpalteTxt_ausNum(WERT - 2)
'Diagramm anpassen
Mom = TB1.Cells(1, 8)
Mom = Application.Match(Mom, Sheets("Daten").Range("C1:C3"), 0)
With Worksheets("Tabelle1").ChartObjects(1).Chart
'sichtbar machen
.FullSeriesCollection(1).Format.Line.Visible = msoTrue
.FullSeriesCollection(1).MarkerStyle = -4105
.FullSeriesCollection(2).Format.Line.Visible = msoTrue
.FullSeriesCollection(2).MarkerStyle = -4105
.FullSeriesCollection(1).Name = "=Tabelle2!$R$1"
.FullSeriesCollection(2).Name = "=Tabelle2!$S$1"
'Werte zuweisen
.FullSeriesCollection(1).XValues = Worksheets("Tabelle2").Range("$" & Spalte & "$2:$" &  _
Spalte & "$" & LR)
.FullSeriesCollection(2).XValues = Worksheets("Tabelle2").Range("$" & Spalte & "$2:$" &  _
Spalte & "$" & LR)
.FullSeriesCollection(1).Values = Worksheets("Tabelle2").Range("$R$2:$R$" & LR)
.FullSeriesCollection(2).Values = Worksheets("Tabelle2").Range("$S$2:$S$" & LR)
'Achse beschriften
.Axes(xlCategory).AxisTitle.Caption = TB1.Cells(WERT, 2) & " (" & TB1.Cells(WERT, 6) & " _
)"
.Axes(xlValue, xlPrimary).AxisTitle.Text = TB1.Cells(1, 8) & " (Nm)"
'Ausblenden
If Mom = 1 Then
.FullSeriesCollection(2).Format.Line.Visible = msoFalse
.FullSeriesCollection(2).MarkerStyle = -4142
.FullSeriesCollection(2).Name = "="" """
End If
If Mom = 2 Then
.FullSeriesCollection(1).Format.Line.Visible = msoFalse
.FullSeriesCollection(1).MarkerStyle = -4142
.FullSeriesCollection(1).Name = "="" """
End If
End With
End Sub
Function SpalteTxt_ausNum(iNr As Integer)
SpalteTxt_ausNum = Left(Cells(1, iNr).Address(0, 0), 1 - (iNr > 26) - (iNr > 702))
End Function

AW: Automatische Erstellung von Diagrammen
04.06.2019 13:32:41
Diagrammen
Hallo,
jetzt stimmen die Werte, wenn ich die Grenzen eingebe! :)
Leider werden nach wie vor nur ein paar der Werte genommen.
Nur nochmal für mich zum mitschreiben.
In dem Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Cells(1, 8).Address Then Berechnen
If Target.Address = Cells(1, 11).Address Then Berechnen
End Sub

wird das Unterprogramm Berrechnen gestartet sobald eine der beiden Zellen manuell adressiert wurde.
Hier
Dim VON, BIS, Schritt, i, S As Integer
Dim TB1, TB2, LR As Long, Z As Long
Dim ARR
Set TB1 = Sheets("Tabelle1")
Set TB2 = Sheets("Tabelle2")
WERT = TB1.Cells(1, 11)
WERT = WorksheetFunction.Match(WERT, TB1.Range("B:B"), 0)
VonString = "Eingabe: " & TB1.Cells(WERT, 2) & " Von (in " & TB1.Cells(WERT, 6) & ")"
VON = InputBox(VonString, "", 1)
BisString = "Eingabe: " & TB1.Cells(WERT, 2) & " Bis (in " & TB1.Cells(WERT, 6) & ")"
BIS = InputBox(BisString, "", 10)
Schritt = InputBox("Eingabe Schrittweite ", "", 1)
OriginalWert = TB1.Cells(WERT, 5)

werden alle Variablen festgelegt. WERT bestimmt hierbei, welche Zeile für die Berrechnung verwendet wird und wird festgelegt durch das Dropdown Menü in Zeile 1 Spalte 11.
Da versteh ich diese Zeile nicht so ganz.
WERT = WorksheetFunction.Match(WERT, TB1.Range("B:B"), 0)

Mit der obigen Zeile wird die Funktion aufgerufen oder?
Function SpalteTxt_ausNum(iNr As Integer)
SpalteTxt_ausNum = Left(Cells(1, iNr).Address(0, 0), 1 - (iNr > 26) - (iNr > 702))
End Function

Was macht diese Funktion dan genau?
LR = TB1.Cells(TB2.Rows.Count, "B").End(xlUp).Row 'letzte Zeile der Spalte
TB2.UsedRange.ClearContents
ARR = TB1.Range(TB1.Cells(3, 3), TB1.Cells(LR, 3))
TB2.Range(TB2.Cells(1, 1), TB2.Cells(1, LR - 2)) = Application.Transpose(ARR)
Zeile = 2
AnzahlWerte = 1 + (BIS - VON) / Schritt
For i = 1 To AnzahlWerte Step 1
TB1.Cells(WERT, 5) = VON + Schritt * (i - 1)
ARR = TB1.Range(TB1.Cells(3, 5), TB1.Cells(LR, 5))
TB2.Range(TB2.Cells(Zeile, 1), TB2.Cells(Zeile, LR - 2)) = Application.Transpose(ARR)
Zeile = Zeile + 1
Next i
TB1.Cells(WERT, 5) = OriginalWert
Spalte = SpalteTxt_ausNum(WERT - 2)

Hier werden die Werte in einer Schleife berrechnet. Wie ist da der ungefähre ablauf. Würde das ganze gern versuchen in einem Programmflussdiagramm darzustellen. Wirklich nur ganz grob.
Letzter Teil des Codes.
 Mom = TB1.Cells(1, 8)
Mom = Application.Match(Mom, Sheets("Daten").Range("C1:C3"), 0)
With Worksheets("Tabelle1").ChartObjects(1).Chart
'sichtbar machen
.FullSeriesCollection(1).Format.Line.Visible = msoTrue
.FullSeriesCollection(1).MarkerStyle = -4105
.FullSeriesCollection(2).Format.Line.Visible = msoTrue
.FullSeriesCollection(2).MarkerStyle = -4105
.FullSeriesCollection(1).Name = "=Tabelle2!$R$1"
.FullSeriesCollection(2).Name = "=Tabelle2!$S$1"
'Werte zuweisen
.FullSeriesCollection(1).XValues = Worksheets("Tabelle2").Range("$" & Spalte & "$2:$" &  _
_
Spalte & "$" & LR)
.FullSeriesCollection(2).XValues = Worksheets("Tabelle2").Range("$" & Spalte & "$2:$" &  _
_
Spalte & "$" & LR)
.FullSeriesCollection(1).Values = Worksheets("Tabelle2").Range("$R$2:$R$" & LR)
.FullSeriesCollection(2).Values = Worksheets("Tabelle2").Range("$S$2:$S$" & LR)
'Achse beschriften
.Axes(xlCategory).AxisTitle.Caption = TB1.Cells(WERT, 2) & " (" & TB1.Cells(WERT, 6) & " _
_)"
.Axes(xlValue, xlPrimary).AxisTitle.Text = TB1.Cells(1, 8) & " (Nm)"
'Ausblenden
If Mom = 1 Then
.FullSeriesCollection(2).Format.Line.Visible = msoFalse
.FullSeriesCollection(2).MarkerStyle = -4142
.FullSeriesCollection(2).Name = "="" """
End If
If Mom = 2 Then
.FullSeriesCollection(1).Format.Line.Visible = msoFalse
.FullSeriesCollection(1).MarkerStyle = -4142
.FullSeriesCollection(1).Name = "="" """
End If
End With
End Sub

Was wird durch Mom festgelegt?
Und was ist mit sichbar machen bzw. ausblenden gemeint?
Da ja nicht immer nach zwei Datenreihen gefragt ist. Wie könnte ich es machen das dan nur eine Datenreihe angezeigt wird?
Glaub ganz langsam komm ich dahinter.
Wichtig wäre noch: Wie kann ich bei den berrechneten Werten neue Hinzufügen, die dan auch in die Auswahl in Zelle H1 aufgenommen werden können?
Vielen vielen Dank.
Hoffe es wird nicht zu viel.
Grüße
Markus
AW: Automatische Erstellung von Diagrammen
04.06.2019 20:48:39
Diagrammen
Hallo Markus,
hier eine neue Datei mit Kommentaren:
https://www.herber.de/bbs/user/130192.xlsm
Außerdem ein paar Fehler beseitigt.
Du kannst jetzt ohne Code-Anpassung neue Berechnungen einfügen.
Wenn es aber mehr als 2 Momente werden, muss der Teil zum Diagramm angepasst werden.
Ich würde es vermutlich dann einfacher finden, mehrere Diagramme zu erstellen. Wieviele Momente willst du darstellen?
Gruß, Rainer
AW: Automatische Erstellung von Diagrammen
05.06.2019 18:15:55
Diagrammen
Link Zum Antworten: https://www.herber.de/forum/messages/1696064.html
Link zur neuen Datei: https://www.herber.de/bbs/user/130223.xlsm
Ich habe die Sub aufgeteilt, nur zu meiner Übersicht.
Außerdem kann sie jetzt beliebig viele Momente verarbeiten.
Es gibt noch eine neue Sub, welche du einmalig durchführen musst, wenn neue Momente eingefügt wurden. Diese aktualisiert die Dropdownliste.
Gruß, Rainer
AW: Automatische Erstellung von Diagrammen
06.06.2019 10:20:10
Diagrammen
Hallo,
ja jetzt mit den Kommentaren ist das echt super!!!
Es reicht, wenn immer 2 Sachen Gleichzeitig Dargestellt werden können. Ich möchte immer Verfahren nach Hart-Smith mit dem Verfahren nach Goland und Reissner vergleichen.
Aber so wie Moment Test1 und Moment Test2 eingefügt wurden werden noch z.B Spannungsverläufe, etc. hinzukommen. Auch wieder nach HS und GuR.
In der aktuellen Mappe würde es dan heißen:
Moment nach Hart-Smith
Moment nach Goland und Reissner
Momente nach HS und GuR im Vergleich
Moment Test1 (oder bspw. Spannungsverläufe nach HS)
Moment Test2 (oder bspw. Spannungsverläufe nach GuR)
Momente Test1 und Test2 im Vergleich (oder bspw. Spannungsverläufe HS und Gur im Vergleich)
Wenn es nicht zu kompliziert zum Programmieren wird wäre dieser Zusatz noch sehr schön.
Bin echt begeistert von der Lösung! Hätte nie gedacht, dass das so gut funktioniert.
War mit meinem Latein echt ziemlich schnell am Ende bei dem Thema. Jetzt kann ich mich dann den Maschinenbau fachlichen Problemen des Themas widmen.
Vielen Dank.
Grüße
Markus
AW: Automatische Erstellung von Diagrammen
06.06.2019 12:07:41
Diagrammen
Hallo Markus,
bitte achte darauf, immer auf dem allerletzten Beitrag zu antworten, das macht es übersichtlicher.
Hier zur Sicherheit nochmal der Link zur letzten Datei: https://www.herber.de/bbs/user/130223.xlsm
Es werden jetzt nur Werte mit dem Namen "Moment*" automatisch hinzugefügt.
Ich vermute mal, es ist eher Unsinn, wenn Momente und Spannungsverläufe im gleichen Diagramm landen. Wenn wir aber mehr als 1 Diagramm haben, dann wird es auch etwas komplexer mit dem Code. Kannst du sagen, wie viele Diagramme es werden? (Momente, Spannungsverläufe, X,Y,Z,...)
Gruß, Rainer
AW: Automatische Erstellung von Diagrammen
07.06.2019 10:28:34
Diagrammen
Hallo,
ah jetzt hab ich raus wie ich zwischen den Beiträgen springen kann.
Ja Momente und Spannungsverläufe machen nur getrennt sinn. Es müssten nicht beide gleichzeitig in 2 Diagrammen angezeigt werden können. Denke es wäre sogar besser wenn nur ein Diagramm vorhanden ist und über die Auswahl gewählt wird ob jetzt Momente oder Spannungsverläufe angezeigt werden. Ich denke es werden maximal 4 verschiedene Verläufe angezeigt werden müssen. Kann ich aber noch nicht mit Sicherheit sagen.
Grüße
Markus
AW: Automatische Erstellung von Diagrammen
07.06.2019 13:25:44
Diagrammen
Hallo Markus,
neue Runden, neues Glück.
https://www.herber.de/bbs/user/130284.xlsm
Jetzt kannst du so viele "Diagrammwerte" hinzufügen wie du brauchst. Der Name ist egal. Ein Klick über die Dropdownliste löst eine Neuberechnung aus. Wenn du dann aber einen Vergleich haben möchtest, so kannst du auf das bunte Feld mit der gewünschten Größe und der Graph im Diagramm wird aktiviert.
Probier mal ob das gefällt, dann muss man sich Gedanken machen wie man das Diagramm noch richtig skaliert.
Gruß, Rainer
AW: Automatische Erstellung von Diagrammen
08.06.2019 17:36:41
Diagrammen
Hallo Markus,
hier noch ein letzter Wurf zum Wochenende: https://www.herber.de/bbs/user/130299.xlsm
Ich habe jetzt von hier: https://peltiertech.com/calculate-nice-axis-scales-in-excel-vba/
den Code ins Modul 4 eingefügt, so dass jetzt das Diagramm neu skaliert wird, wenn Graphen aktiviert oder deaktiviert werden.
Sag mal Bescheid wie es gefällt so weit.
Gruß, Rainer

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige