|
|
zarrin
|
| Titel: Ausgabe aus VB in Excel |
08.04.2011 10:20 |
|
|
Anmeldungsdatum: 08.04.2011
Beiträge: 3
|
Halli hallo, ich hab da mal eine Frage. Nach langer Zeit habe ich mich wieder an die Programmierung eines kleinen Programmes in VB gemacht, bei dem ich vorgebe, das er Berechnungen durchführen soll. Nun will ich aber, dass die die ERgebnisse der Berechnungen in der Excel tabelle erscheinen. Kann mir da jemand helfen? Ich füg mal mein zeugs ein
Public Function test()
Dim vLA, vLB, p1, p2, methanol, ethanol, water, xone, xtwo, gamma1, gamma2, pi1, pi2, Awater, Bwater, Cwater, A, B, C, pges, T, p1_water, p2_water, p1_substance, p2_substance, Zeilengesamt, RZeile, RSpalte As Double
'Einlesen der Daten
component1 = Worksheets("Tabelle1").[B5] xone = Worksheets("Tabelle1").[D5] xtwo = Worksheets("Tabelle1").[D7] T = Worksheets("Tabelle1").[B9] pges = Worksheets("Tabelle1").[B11]
' alle benötigten Werte werden hier eingeschrieben
vLA = 0.8906 ' For component methanol vLB = 0.5139
If component1 = ethanol Then vLA = 1.701 If component1 = ethanol Then vLB = 0.9425
A = 23.4999 ' For component methanol B = 3643.31 C = -33.424
If component1 = ethanol Then A = 23.8048 If component1 = ethanol Then B = 3803.98 If component1 = ethanol Then C = -41.68
Awater = 23.30179 Bwater = 3881.615 Cwater = -43.5169
' Berechnungen der ersten Zeile
Rechnung(0, 2) = 0 'xone Rechnung(0, 3) = 1 - Rechnung(0, 2) 'xtwo Rechnung(0, 4) = Exp(vLA * ((vLB * Rechnung(0, 3)) / (vLA * Rechnung(0, 2) + vLB * Rechnung(0, 3))) ^ 2) 'gamma1 Rechnung(0, 5) = Exp(vLB * ((vLA * Rechnung(0, 3)) / (vLA * Rechnung(0, 2) + vLB * Rechnung(0, 3))) ^ 2) 'gamma2 Rechnung(0, 6) = Exp(A - (B / (T + 273.15 + C))) 'P1 Rechnung(0, 7) = Exp(Awater - (Bwater / (T + 273.15 + Cwater))) 'P2 Rechnung(0, 8 ) = Rechnung(0, 2) * Rechnung(0, 6) * Rechnung(0, 4) 'Partialpressure 1 Rechnung(0, 9) = Rechnung(0, 3) * Rechnung(0, 7) * Rechnung(0, 5) 'Partialpressure 2
'Berechnungen für die nächsten Zeilen
Zeilengesamt = 1 / 0.05 For RZeile = 1 To Zeilengesamt For RSpalte = 2 To 9 If RSpalte = 2 Then Rechnung(RZeile, 2) = Rechnung(0, 2) + 0.05 End If
If RSpalte = 3 Then Rechnung(Rzeil, 3) = 1 - Rechnung(RZeile, 2) End If If RSpalte = 4 Then Rechnug(RZeile, 4) = Exp(vLA * ((vLB * Rechnung(0, 3)) / (vLA * Rechnung(RZeile, 2) + vLB * Rechnung(RZeile, 3))) ^ 2) End If If RSpalte = 5 Then Rechnung(RZeile, 5) = Exp(vLB * ((vLA * Rechnung(0, 3)) / (vLA * Rechnung(RZeile, 2) + vLB * Rechnung(RZeile, 3))) ^ 2) End If If RSpalte = 6 Then Rechnung(RZeile, 6) = Exp(A - (B / (T + 273.15 + C))) End If If RSpalte = 7 Then Rechnung(RZeile, 7) = Exp(Awater - (Bwater / (T + 273.15 + Cwater))) End If If RSpalte = 8 Then Rechnung(RZeile, 8 ) = Rechnung(RZeile, 2) * Rechnung(RZeile, 6) * Rechnung(RZeile, 4) End If If RSpalte = 9 Then Rechnung(RZeile, 9) = Rechnung(RZeile, 3) * Rechnung(RZeile, 7) * Rechnung(RZeile, 5) End If Next Next
test = Berechnung
End Function
das was ich hier FEtt markiert habe (test=Berechnung) da wollte ich das er mir die ERgebnisse der Zeilen und Spalten in Excel ausgibt aber das klappt nicht. Also muss ich ja sowas wie Ausgabe=(RZeile...) machen oder nicht? Ich weiß da nicht weiter und wäre sehr dankbar über hilfe! Bis dahin
|
 |
|
| |
|
nikasio14
|
| Titel: Ausgabe aus VB in Excel |
08.04.2011 20:49 |
|
|
Anmeldungsdatum: 21.04.2007
Beiträge: 313
|
Hallo und erstmal willkommen im forum=)
Vielleicht hilft dir das weiter, ich hab einfach mal gegooglet:
http://forum.chip.de/office/visual-basic...35093.html
viel erfolg noch! nikasio14
________________________________________ Es gibt Leute mit einem Horizont in Form eines Kreises Radius Null Das nennen Sie ihren Standpunkt
|
 |
|
| |
|
zarrin
|
| Titel: Ausgabe aus VB in Excel |
11.04.2011 13:28 |
|
|
Anmeldungsdatum: 08.04.2011
Beiträge: 3
|
hallo! Vielen Dank für den link. Nun, mein Problem ist, das ich 160 Zellen habe die ausgegeben werden sollen. Und da ich die schleife programmiert habe, bei der die nächsten rechnungen in den nächsten zeilen durchgeführt werden sollen, bin ich mir nicht so sicher wie ich den Ausgabebefehl für die nächsten Zeilen angebe. Kann ich nicht sowas machen, wie
Ausgabe(AZeile,durchlauf +1)= Rechnung(i,1) kann ich dadurch meine aufforderung zur ausgabe aller werte wiedergeben?
Lieben gruß
|
 |
|
| |
|
zarrin
|
| Titel: Ausgabe aus VB in Excel |
11.04.2011 17:05 |
|
|
Anmeldungsdatum: 08.04.2011
Beiträge: 3
|
also ich hab es hiermit ausprobiert und das klappt auch nicht:
i = 0
For AZeile = 1 To Zeilengesamt
If durchlauf = 1 Then
Ausgabe(AZeile, 1) = Rechnung(i, 1) i = i + 1 End If
Next test = Ausgabe
wisst ihr warum nicht?
|
 |
|
| |
|
|
|
|
|
|