Tabelle für einen Einfeldträger - Normalkraft, Querkraft, Biegemoment in VBA erstellen?

Quadratische Parabel - (VBA, Tabelle programmieren)

5 Antworten

Hallo Autonom01, eine interessante Aufgabe. Allerdings mehr Mathematik als Excel. Für die Momenetenberechnung wäre zuallerst die Formel zu entwickeln, die q(x) berechnet. q sollte als Gewicht oder Gewichtskraft angegeben sein (kg oder N). Leider (oder Gott sei Dank) liegt bei mir die Beschäftigung mit der Integralberechnung sehr weit zurück. Ansonsten wäre die Kraftberechnung Summe aller Momente um Festlager = 0 = q x l/2 - Fz Loslager x l. Summer aller Kräfte in z = 0 = q - Fz Loslager - Fz Festlager. Vielleicht können wir das "Programm" ja hier gemeinsam entwickeln.

Hallo Autonom01, mit den Fragmenten die Du als Infos anbietest, kann ich wenig anfangen. "in der For Schleife ist ein Hinweis l / 30" - nein, es ist kein Hinweis, es ein Teil der Formel. n ist variabel, der Wert ist in der Zelle <J7> in der Tabelle angegeben.

Du übergibst die Variablen l, q, n, a, b

Du deklarierst x, M, V, O, i

Du verwendest i, x, l, q

Fällt Dir was auf? Variablen die Du eh nicht verwendest mußt Du weder deklarieren, noch übergeben. Also irgendwie habe ich mit dem Vorhandenen ein Verständnisproblem.


Autonom01 
Beitragsersteller
 22.05.2016, 19:37

Hallo eddi

ich weiß nicht genau was du meinst, da ich in VBA komplettes Neuland betrete und vor einer Woche überhaupt das erste mal davon gehört habe.  .. ich denke du spielst darauf an, dass a, b nirgends vorkommen, ich aber trotzdem die Variablen angebe. Das hat damit zu tun, dass es Einfeldträger gibt, auf denen eine Trapezförmige Last wirkt, dann braucht man zusätzlich diese 2 Variablen. Es werden dann allerdings andere Formeln in den Spalten 2-4 eingetragen werden müssen. Das Programm sollte allerdings bei anderen Aufgabe auch funktionieren. Daher diese zusätzlichen Variablen.

..... und diese a + b sind zwei Längenangaben zb beim Trapez das man in 3 Körper unterteilt. die Seite des linken Dreiecks ist a und die Seite des rechten Dreiecks ist b. Beide addiert dürfen nicht kleiner als die Gesamtlänge l sein. l ist also a+b+ eine weitere konstante um ein Trapez darzustellen. diese konstante ist demnach l - a - b. ergibt sich also von selbst.

.. oder du meintest damit das ich i deklariere.. was ich aber so in der Formel nicht sehen kann.

auch findet n nicht wirklich eine Aufgabe zu tun, oder doch? Nach meinem wissen hab ich der Funktion nur gesagt, dass es ein n gibt aber nicht wie es sich verhalten soll.

ich hätte da gerne noch eine oder mehrere If Funktionen reingepackt. geht das überhaupt?

Danke!!

mfg

0
Autonom01 
Beitragsersteller
 22.05.2016, 20:46
@Autonom01

Die Formel für den Moment ist diejenige welche ich im ersten Bild mitgeschickt habe. Die anderen zwei sind die Ableitungen dieser Momenten Formel. Die jeweiligen Ableitungen findest du im Code der Tabelle. ist aber irrelevant für die Formel denke ich da diese eh schon funktionieren. . als Ergebnis bekommt man halt für die erste Differenzierung ;) V(x) und für die 2. Ableitung Q(x).

0

Hallo.

ich denke, ich habe die Programmierung schon hinbekommen.

Zumindest funktioniert es dem ersten Anschein nach. Trotzdem poste ich ein Bild von dem Code und eventuell könnt ihr mich auf Fehler hinweisen. außerdem muss ich auch noch einen Fehlercode integrieren der den Anwender darauf hinweist, wenn a+b > als l ist. Doch ich weiß nicht genau ob ich diesen in die Funktion der Tabelle mit einbeziehen muss oder ob ich lediglich einen vermerk in der Funktion erstellen muss, der im eintretenden Fall auf eine andere Funktion verweist! Bitte um Vorschläge!

 - (VBA, Tabelle programmieren)  - (VBA, Tabelle programmieren)

Hallo Autonom01, sorry, hatte die letzten Tage keine Zeit zu Antworten. Wenn Du Interesse an einer gemeinsamer Entwicklung des Projektes hast, schreibe am besten eine E-Mail an vba(at)doerrhoefer-technik.de. Wenn Du die Datei anhängst kann ich sie mir mal genauer anschauen. Ich denke dann würde einiges klarer werden.


Autonom01 
Beitragsersteller
 27.05.2016, 22:38

hallo eddi.

das ist kein Problem, ich verstehe das deine Zeit kostbar ist.

Ich habe es dann hinbekommen das Programm zu schreiben. Die Funktion besteht im wesentlichen nur aus einer Tabelle aus einer FOR Schleife und einer Fehlermeldung die einen Rechenfehler vermeidet. Relativ easy, doch danke dir nochmal für dein Engagement. :)

Lg

0

... ich stehe grade noch vor einem weiteren Problem.  in der For Schleife ist ein Hinweis l / 30 jedoch müsste es l/n sein. Kann ich n beziehen auf eine Zelle in der ich den wert für n eingebe?