Live-Forum - Die aktuellen Beiträge
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

Automatisches erstellen und Auswerten von WT

Automatisches erstellen und Auswerten von WT
20.05.2019 13:26:41
WT
Hallo,
bin neu hier und stell ich erstmal kurz vor. Bin 22 und Studiere Maschinenbau und muss im Rahmen meiner Bachelorarbeit in Excel ein paar Rechenverfahren anwenden.
Nun zu meinem Problem. Ich habe eine Tabelle erstellt in der ich über Namen allen möglichen Buchstaben eine Zelle mit entsprechender Formel zugeordnet habe. Das ganze geht dan über mehrere Zellen und am Ende kommen ein paar Ergebnise raus.
Ich müsste nun eine Wertetabelle erstellen. Ich möchte der Tabelle einen Wertebereich zuteilen z.B. Bauteilbreite von 0-10mm und dan soll Excel automatisch meine ganzen Formeln die über Namen eingetragen sind durchgehen und in einer z.B. 1mm Schrittweite mit den errrechneten Werten eine Tabelle erstellen aus der dan ein Diagramm geplottet wird.
Weiß nun noch nicht so ganz wie ich hier vorgehen soll.
Mein erster Ansatz war ein Event auszuführen wenn sich die Zelle in der sich das Ergebnis berrechnet ändert. Dass dan diese Zelle in eine Tabelle übernommen wird und das nächste Ergebnis ausgerechnet wird usw. Bis dan 10 Ergebnisse mit gegebener Bauteilbreit in Tabellenform bereit stehen. Darüber sollte dan automatisch ein Diagramm erstellt werden, welches schaut wie viele Zellen und welche Schrittweite in der Tabelle sind und dan automatisch erstellt.
Am Ende soll das ganze als Userinterface funktionieren also muss alles so sein das es von selbst läuft ohne das User viel mehr als Bauteilgeometrie und Werkstoffdaten eingeben müssen.
Freue mich auf gute ideen und ein gutes miteinander im Forum.
Viele Grüße
Markus

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatisches erstellen und Auswerten von WT
20.05.2019 14:40:55
WT
Hallo Markus,
dann zeig doch mal deinen Ansatz und lade deine Mappe hoch. Dann versteht man es vermutlich auch als Nicht-Maschinenbauer.
Gruß, Rainer
AW: Automatisches erstellen und Auswerten von WT
20.05.2019 15:58:43
WT
Hallo
so?
in ein Modul
Sub Berechnen()
    Dim Bvon, Bbis, Schritt, i, S As Integer
    Dim TB1, TB2, LR As Long, Z As Long
    
    Set TB1 = Sheets("Tabelle1")
    Set TB2 = Sheets("Tabelle2")
    Bvon = InputBox("Eingabe: Von (in mm)", "Bauteilbreite", 1)
    Bbis = InputBox("Eingabe: Bis (in mm)", "Bauteilbreite", 10)
    Schritt = InputBox("Eingabe Schrittweite (in mm)", "", 1)
    
    
    For i = Bvon To Bbis Step Schritt
        LR = TB2.Cells(TB2.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte 
        S = 1
        
        'Werkstoffdaten 
        For Z = 3 To 4
            TB2.Cells(LR + 1, S) = TB1.Cells(Z, 5)
            S = S + 1
        Next
        
        'Breite in Schleife 
        TB1.Cells(6, 5) = i
        TB2.Cells(LR + 1, S) = i
        S = S + 1
        
        
        
        'Weitere Geometrie 
        For Z = 7 To 9
            TB2.Cells(LR + 1, S) = TB1.Cells(Z, 5)
            S = S + 1
        Next
        
        'Kräfte 
        For Z = 11 To 11
            TB2.Cells(LR + 1, S) = TB1.Cells(Z, 5)
            S = S + 1
        Next
        
        'ab hier Formelergebnisse 
        For Z = 13 To 21
            TB2.Cells(LR + 1, S) = TB1.Cells(Z, 5)
            S = S + 1
        Next
        
    Next
End Sub

So wäre der erste Teil des Ergebnisses. (Die Überschriften hab ich händisch dort reinkopiert)

Tabelle2
 ABCDEFGHIJKL
1E-ModulQuerdehnzahlBreite des BauteilsDicke des BauteilsÜberlappungslängeKlebschichtdickeAngreifende KräfteBiegesteifigkeitFlächenträgheitsmomentBiegesteifigkeitsparameterHalbe ÜberlappungslängeExzentritätsfaktor Hart-Smith
22100000,810,050,040,0011000002,18751,04166666666667E-050,360,027,12648291591794E-02
32100000,820,050,040,0011000004,3752,08333333333333E-050,720,020,178330462429875
42100000,830,050,040,0011000006,56250,000031251,080,020,285059321057661
52100000,840,050,040,0011000008,754,16666666666667E-051,440,020,380369741003757
62100000,850,050,040,00110000010,93755,20833333333333E-051,80,020,461758868492981
72100000,860,050,040,00110000013,1250,00006252,160,020,530018480421727
82100000,870,050,040,00110000015,31257,29166666666667E-052,520,020,586967827494859
92100000,880,050,040,00110000017,58,33333333333334E-052,880,020,634539563240231
102100000,890,050,040,00110000019,68750,000093753,240,020,67445761425959
112100000,8100,050,040,00110000021,8751,04166666666667E-043,60,020,708158467842761
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.14 einschl. 64 Bit


LG UweD
Anzeige
AW: Automatisches erstellen und Auswerten von WT
20.05.2019 23:32:58
WT
Hallo,
vielen, vielen Dank super das funktioniert genau so wie ich es mir vorgestellt habe.
Habe etwas gebraucht bis ich das ganze verstanden habe aber jetzt kann ich es glaube ich reproduzieren und öfters anwenden. Habe nun versuchten auf die erstellten Wertetabellen ein Dynamisches Diagramm zu machen welches immer die z.B Breite auf der x-Achse hat und einmal das Moment nach Hart-Smith als Datenreihe und einmal das Moment Goland und Reisner als Datenreihe. Das hat leider noch nicht so funktioniert. Mit Formeln ala =BEREICH.VERSCHIEBEN bin ich da irgendwie nicht weiter gekommen. Ideen hierzu? :D
VG Markus
Anzeige
AW: Automatisches erstellen und Auswerten von WT
21.05.2019 11:09:35
WT
Hallo
Ich habe mal ein Diagramm eingebaut.
Der Datenbereich wird am Ende des Makros angepasst.
Sub Berechnen()
    Dim Bvon, Bbis, Schritt, i, S As Integer
    Dim TB1, TB2, LR As Long, Z As Long
    
    Set TB1 = Sheets("Tabelle1")
    Set TB2 = Sheets("Tabelle2")
    Bvon = InputBox("Eingabe: Von (in mm)", "Bauteilbreite", 1)
    Bbis = InputBox("Eingabe: Bis (in mm)", "Bauteilbreite", 10)
    Schritt = InputBox("Eingabe Schrittweite (in mm)", "", 1)
    
    
    'reset 
    TB2.UsedRange.Offset(1, 0).ClearContents
    
    
    For i = Bvon To Bbis Step Schritt
        LR = TB2.Cells(TB2.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte 
        S = 1
        
        'Werkstoffdaten 
        For Z = 3 To 4
            TB2.Cells(LR + 1, S) = TB1.Cells(Z, 5)
            S = S + 1
        Next
        
        'Breite in Schleife 
        TB1.Cells(6, 5) = i
        TB2.Cells(LR + 1, S) = i
        S = S + 1
        
        
        
        'Weitere Geometrie 
        For Z = 7 To 9
            TB2.Cells(LR + 1, S) = TB1.Cells(Z, 5)
            S = S + 1
        Next
        
        'Kräfte 
        For Z = 11 To 11
            TB2.Cells(LR + 1, S) = TB1.Cells(Z, 5)
            S = S + 1
        Next
        
        'ab hier Formelergebnisse 
        For Z = 13 To 21
            TB2.Cells(LR + 1, S) = TB1.Cells(Z, 5)
            S = S + 1
        Next
        
    Next
    
    'Diagramm anpassen 
        With Charts("Diagramm1")
        .FullSeriesCollection(1).Values = "=Tabelle2!$O$2:$O$" & LR
        .FullSeriesCollection(2).Values = "=Tabelle2!$P$2:$P$" & LR
        .Activate
    End With

    
End Sub

Musterdatei: (Makro noch reinkopieren) https://www.herber.de/bbs/user/129925.xlsx
LG UweD
Anzeige
AW: Automatisches erstellen und Auswerten von WT
21.05.2019 13:03:41
WT
Klasse!! :) Tu mir zwar nicht gerade leicht durch den Code durch zu steigen aber mit deinen Kommentaren check ichs zumindest ein bisschen.
Habe nur das Problem, dass ich die x-Achse nicht mit ändern kann. Also wenn ich z.B. Werte von 1 bis 100 in 1er Schritten nimm dan wird nur 1-10 angezeigt.
Habe das jetzt so versucht
.FullSeriesCollection(3).XValues = "=Tabelle2!$C$2:$C$" & LR

aber damit passiert irgendwie garnichts... Wie kann ich die x-Achse über die selbe Range wie die Datenreihen laufen lassen?
Jetzt ist es ja möglich diesen Sub mehrmals zu kopieren und für jede der mögichen Variablen (Dicke, Klebschicht, E-Modul, etc.) anzupassen. Dann könnte ich über einen eigenen Sub via Checkboxes oder Dropdown Menüs und dem Befehl Call Sub die einzelnen aufrufen und starten. Lieg ich da mit meiner überlegung richtig oder fällt euch eine elegantere Lösung ein? :)
Vielen Dank für die Hilfe geht echt gut was voran!
VG Markus
Anzeige
AW: Automatisches erstellen und Auswerten von WT
22.05.2019 20:13:44
WT
Hallo,
Mhmm, habs selber noch weiter versucht aber das mit der x-Achse funktioniert einfach nicht.
Weiß da vll jemand weiter? Das von Uwe ist schon echt top so die Funktion wär aber noch wichtig.
VG Markus
AW: Automatisches erstellen und Auswerten von WT
22.05.2019 22:40:15
WT
Als kleiner Ansto?:

ActiveChart.Axes(xlCategory).MinimumScale = Min_X_Axis
ActiveChart.Axes(xlCategory).MaximumScale = Max_X_Axis
ActiveChart.Axes(xlCategory).MajorUnit = M_U_X_Axis
ActiveChart.Axes(xlValue).MinimumScale = Min_Y_Axis
ActiveChart.Axes(xlValue).MaximumScale = Max_Y_Axis
ActiveChart.Axes(xlValue).MajorUnit = M_U_Y_Axis
Bedenke aber, dass du runden musst. Es macht kein schönes Diagramm, wenn die Grenzen 2.144 und 10.654 sind.
Leider erzeugt bei mir die Beispielmappe kein Diagramm. Sonst hätte ich auch den Code machen können.
Gruß, Rainer
Anzeige
AW: Automatisches erstellen und Auswerten von WT
23.05.2019 11:40:48
WT
ok hab gerade nochmal etwas rumgebastelt und festgestellt das es schon Probleme gibt bei der Diagrammerstellung von Uwe. Wie sollte das normalerweise funktionieren? Hab jetzt ein leeres Diagramm eingefügt und der von Uwe geschriebene Code sollte das doch theoretisch befüllen. Da passiert aber garnichts. Dachte vorhin es funktioniert, weil sich der Wertebereich geändert hat den ich dem Diagramm aber vorgegeben hab. Muss ich da einen Bereich festlegen im Diagramm oder wie soll das dan gehen?
Vielen Dank.
VG Markus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige