Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

userform

userform
06.08.2006 21:18:37
bodi20
hallo,
bin neu im forum.
hab ein prob. mit vba. ich habe mir eine userform angelegt, in denen der benutzer werte eingibt. mit hilfe dieser werte wird nun eine berechnung ausgeführt. nun will ich das ergebnis in das textfeld einer anderen userform übergeben, sodass es dort zu sehen ist. kann mir einer helfen. mfg

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: userform
06.08.2006 21:25:23
Josef
Hallo ? (realnames sind hier üblich und erwünscht)
Ganz einfach an die Textbox übergeben.

UserForm1.TextBox1 = deinWert

Gruß Sepp

AW: userform
06.08.2006 21:27:35
Xelleron
Hallo bodi20,
je nachdem wie Du die Werte in die andere UF übertragen willst (per Button etc)

Private Sub CommandButton1_Click()
UserForm2.TextBox1.Text = UserForm1.TextBox1.Text
End Sub

Gruß Dennis
AW: userform
06.08.2006 21:36:03
Christopher
hab mich dann mal unter meinem richtigen namen angemeldet.
hier mal der berechnungscode:
Public

Sub BerechnungButton_Click()
Dim shapeCount As Integer
Dim myShape As Shape
Dim shapeCounter As Integer
Dim myPageNumber As Integer
Dim propkWert As String
Dim kWert As Double
Dim result As Double
Dim dichte As Double
Dim lambdal As Double
Dim Rohrdruckgefällel As Double
Dim rohrrauigkeit As Double
Dim luftdr As Double
Dim myShapeCellExists As Integer
Dim Druckverlust1 As Double
Dim propDuctLength As String
Dim rohrlaenge As Double
Dim DuctLength As Integer
Dim DuctWidth As Integer
Dim propZetaWert As String
Dim ZetaWert As Double
Dim result1 As String
Dim result2 As Double
Dim druckzeta As Double
Dim Luftgeschwindigkeit As Double
Dim druckverlusteinbauten1 As Double
Dim Rohrinnendurchmesser As Double
Dim prophydrDurchmesser As String
Dim druckverlust2 As Double
Dim Luftgeschwindigkeit1 As Double
' es gibt nur eine Page, deshalb Nummer=0
myPageNumber = 1
shapeCount = ActiveDocument.Pages(myPageNumber).Shapes.Count
propkWert = "Prop.kWert"
prophydrDurchmesser = "Prop.hydrDurchmesser"
' laufe über alle Shapes
For shapeCounter = 1 To shapeCount
' prüfe, ob Shape Benutzerdwefinierte Eigenschaften besitzt
If ActiveDocument.Pages(myPageNumber).Shapes(shapeCounter).SectionExists(visSectionProp, _
True) = True _
Then
Set myShape = ActiveDocument.Pages(myPageNumber).Shapes(shapeCounter)
If myShape.CellExists(propkWert, True) = True _
Then
' setze k-Wert in Shape als Text
' myShape.Text = "k-Wert = " & myShape.Cells(propkWert)
' berechne k-Wert für Shape
kWert = myShape.Cells(propkWert)
dichte = Dichte_rF(Temperatur1.Value, Luftfeuchte1.Value, Luftdruck.Value)
rohrinnend = myShape.Cells("Prop.hydrDurchmesser").result("mm")
Rohrinnendurchmesser = myShape.Cells("Prop.hydrDurchmesser").result("mm")
lambdal = lambda(kWert, rohrinnend, Volumenstrom.Value, Temperatur1.Value, dichte)
Rohrdruckgefällel = rohrdruckgefälle(Volumenstrom, rohrinnend, lambdal, dichte)
rohrlaenge = myShape.Cells("prop.DuctLength").result("mm")
Druckverlust1 = druckverlust(Rohrdruckgefällel, rohrlaenge)
result = Druckverlust1
End If
End If
Next
MsgBox result
' es gibt nur eine Page, deshalb Nummer=0
myPageNumber = 1
shapeCount = ActiveDocument.Pages(myPageNumber).Shapes.Count
propZetaWert = "Prop.ZetaWert"
' laufe über alle Shapes
For shapeCounter = 1 To shapeCount
' prüfe, ob Shape Benutzerdwefinierte Eigenschaften besitzt
If ActiveDocument.Pages(myPageNumber).Shapes(shapeCounter).SectionExists(visSectionProp, _
True) = True _
Then
Set myShape = ActiveDocument.Pages(myPageNumber).Shapes(shapeCounter)
If myShape.CellExists(propZetaWert, True) = True _
Then
' setze Zeta-Wert in Shape als Text
' myShape.Text = "Zeta-Wert = " & myShape.Cells("Prop.ZetaWert")
' berechne Zeta-Wert für Shape
ZetaWert = myShape.Cells(propZetaWert)
dichte = Dichte_rF(Temperatur1.Value, Luftfeuchte1.Value, Luftdruck.Value)
Rohrinnendurchmesser = myShape.Cells("Height").result("mm")
'Luftgeschwindigkeit = Luftgeschwindigkeit1(Volumenstrom.Value, Rohrinnendurchmesser)
ZetaWert = myShape.Cells(propZetaWert)
Luftgeschwindigkeit1 = Luftgeschwindigkeitl(Volumenstrom.Value, Rohrinnendurchmesser)
druckverlust2 = deltapeinbauten(ZetaWert, Luftgeschwindigkeit1, dichte)
result2 = druckverlust2
End If
End If
Next
MsgBox result2
Ergebnisfenster.Show
End Sub

der wert result2 soll nun in das textfeld der userform "ergebnisfenster übergeben werden.
hab vollgenden code in das textfeld der userform geschrieben, aber es geht nicht.

Sub Ergebnisfenstertext_Change()
Ergebnisfenstertext.Text = result2.Text
End Sub

Anzeige
AW: userform
06.08.2006 21:45:32
Josef
Hallo Christopher!
Schreibe am ender deines Codes statt

Ergebnisfenster.Show


With Ergebnisfenster
.TextBox1 = result
.TextBox2 = result2
.Show
End With

wobei du für TextBox1 und TextBox2 die namen der entsprechenden Textfelder oder Labels
eintragen musst.
Gruß Sepp

AW: userform
06.08.2006 21:48:13
Christopher
danke für die schnelle und unkomplizierte hilfe. mfg
AW: userform
06.08.2006 22:05:57
Christopher
dann nochwas, wenn den wert der textbox nun in ein drittes formular für eine weitere berechnung berechnung verwende, kann ich dann am anfang des codes auch
With Ergebnisfenster
.Ergebnisfenstertext = result2
setzen, oder muss ich den wert anders übergeben?
mfg christopher
Anzeige
AW: userform
06.08.2006 22:09:27
Josef
Hallo Christopher!
So lange "result" einen Wert hat, das heist die Prozedur in der die Variable berechnet wird noch aktiv ist, kannst du ihren Wert auch übergeben.
Gruß Sepp

AW: userform
06.08.2006 22:11:39
Christopher
ok. danke

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige