Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
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

benötige Hilfe

benötige Hilfe
15.05.2009 11:42:57
Stefan
Hallo lieber Helfer,
ich benötige dringend Hilfe bei einem Berechnungstool. Bin für meine Verhältnisse schon weit gekommen, doch gibt es noch einige Ecken und Kanten. Möchte sich vielleicht einer dieser annehmen und mich unterstützen und mir so wieder etwas über vba beibringen? Es geht um Zahlenrundungen (2 Stellen nach dem Komma), das gewisse Labels erst nicht sichtbar sind und später schon, ein Wert aus einer Datei ausgelesen werden soll und vielleicht nach ein paar Schönheitsfehler... Für einen Profi bestimmt in 10min erledigt, doch für mich...
Wollte die Datei eben hochladen, doch scheiterte es an der Größe (was mich sehr wundert, dass sie so groß ist). Soll ich den Code einfach senden? Und wenn ja, wie?
VIELEN DANK!
Stefan

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code in Forum
15.05.2009 12:26:33
hary
Hi Stefan
Deinen Code mit strg+C kopieren, dann erste zeile mit eintragen ohne leerzeichen, Code mit strg+V einfuegen und abschliessen mit ohne Leerzeichen.
Die Leerzeichen musste ich einsetzen da sonst keine Darstellung.
Gruss Hary
AW: Code in Forum
15.05.2009 12:33:41
Stefan
Hallo Hay,
ich hoffe, dass ich es richtig eingefügt habe. DANKE!
Stefan

Dim a As Double
Dim b As Double
Dim c As Double
Dim d As Double
Dim e As Double
'Textboxen nur die Eingabe von: "0-9" und "," und und "-"
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox4_Change()
End Sub
Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox7_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox8_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox9_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox10_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox11_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox12_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox13_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub TextBox14_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57, 44, 45
Case Else: KeyAscii = 0
End Select
End Sub
Private Sub CommandButton1_Click()
If Me.TextBox1.Value = "" Then
MsgBox "Bitte spez. Wärmekapazität cp eingeben" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox1.Value  5 Then
MsgBox "spez. Wärmekapazität cp muss zwischen 0 und 5 kJ/kg*K liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox2.Value = "" Then
MsgBox "Bitte spez. Wärmekapazität cv eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox2.Value  5 Then
MsgBox "spez. Wärmekapazität cv muss zwischen 0 und 5 kJ/kg*K liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox3.Value = "" Then
MsgBox "Bitte innerer Wirkungsgrad eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox3.Value  1 Then
MsgBox "innerer Wirkungsgrad muss zwischen 0 und 1 liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox6.Value = "" Then
MsgBox "Bitte Eingangsdruck vor WÜ eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox6.Value  80 Then
MsgBox "Eingangsdruck vor WÜ muss zwischen 0 und 80 bar liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox7.Value = "" Then
MsgBox "Bitte Ausgangsdruck nach EXP eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox7.Value  80 Then
MsgBox "Ausgangsdruck nach EXP muss zwischen 0 und 80 bar liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox8.Value = "" Then
MsgBox "Bitte Gastemperatur vor WÜ eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox8.Value  293 Then
MsgBox "Gastemperatur vor WÜ muss zwischen 273 und 293 K liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox9.Value = "" Then
MsgBox "Bitte Gastemperatur nach EXP eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox9.Value  293 Then
MsgBox "Gastemperatur nach EXP muss zwischen 253 und 293 K liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox10.Value = "" Then
MsgBox "Bitte spez. Gaskonstante eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox10.Value  1 Then
MsgBox "spez. Gaskonstante muss zwischen 0 und 1 kJ/kg*K liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox11.Value = "" Then
MsgBox "Bitte Volumenstrom eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox11.Value  200000 Then
MsgBox "Volumenstrom muss zwischen 0 und 200000 Nm³/h liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox12.Value = "" Then
MsgBox "Bitte Dichte eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox12.Value  2 Then
MsgBox "Dichte muss zwischen 0 und 2 kg/Nm³ liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox13.Value = "" Then
MsgBox "Bitte Generatorwirkungsgrad eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox13.Value  1 Then
MsgBox "Generatorwirkungsgrad muss zwischen 0 und 1 liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox14.Value = "" Then
MsgBox "Bitte Wirkungsgrad WÜ eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox14.Value  1 Then
MsgBox "Wirkungsgrad WÜ muss zwischen 0 und 1 liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox21.Value = "" Then
MsgBox "Bitte mechanischer Wirkungsgrad eingeben!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
If Me.TextBox14.Value  1 Then
MsgBox "mechanischer Wirkungsgrad muss zwischen 0 und 1 liegen!" _
, vbOKOnly, "Achtung!"
Exit Sub
End If
a = Me.TextBox1.Value
b = Me.TextBox2.Value
c = Me.TextBox3.Value
d = Me.TextBox6.Value
e = Me.TextBox7.Value
f = Me.TextBox8.Value
g = Me.TextBox9.Value
h = Me.TextBox10.Value
i = Me.TextBox11.Value
j = Me.TextBox12.Value
k = Me.TextBox13.Value
l = Me.TextBox14.Value
r = Me.TextBox21.Value
m = a / b
n = m * 0.92 + 0.23 * (c - 0.7) + 0.0012 * (d / e)
o = g * (d / e) ^ ((n - 1) / n)
p = 1 - 0.2 * ((1 - ((o - 273) / 200)) ^ 0.5) * d / 75
q = ((i / 3600) * j * h * o * p * (m / (m - 1))) * (((e / d) ^ ((m - 1) / m) - 1)) * c * r
s = q * k
t = (i / 3600) * j * a * (o - f)
u = t / l
v = -1 * s / u
End Sub
Public Function Round(ByVal Number As Double, ByVal Digits As Integer) As Double
Round = Int(Number * 10 ^ Digits + 0.5) / 10 ^ Digits
End Function
Me.TextBox4.Value = m
Me.TextBox5.Value = n
Me.TextBox15.Value = o
Me.TextBox16.Value = p
Me.TextBox17.Value = q
Me.TextBox18.Value = s
Me.TextBox19.Value = u
Me.TextBox20.Value = v
Label4.Visible = True
Label5.Visible = True
Label24.Visible = True
Label25.Visible = True
Label26.Visible = True
Label27.Visible = True
Label28.Visible = True
Label29.Visible = True
Label31.Visible = False
Label32.Visible = False
Label33.Visible = False
Label34.Visible = False
TextBox4.Visible = True
TextBox5.Visible = True
TextBox15.Visible = True
TextBox16.Visible = True
TextBox17.Visible = True
TextBox18.Visible = True
TextBox19.Visible = True
TextBox20.Visible = True
CommandButton2.Visible = True
Range("C4:C5").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
MsgBox "Die Generatorleistung beträgt Value = x und der Gesamtwirkungsgrad Value = y" _
, vbOKOnly, "Zusammenfassung"
End Function
Private Sub CommandButton2_Click()
Me.Hide
End Sub
Private Sub UserForm_Click()
End Sub


Anzeige
und wo ist jetzt nochmal das konkrete Problem?
15.05.2009 12:41:09
Daniel
Gruß, Daniel
AW: und wo ist jetzt nochmal das konkrete Problem?
15.05.2009 13:35:17
Stefan
Es sind Probleme...
1. Plausibilitätskontrolle bei der Eingabe verfeinern.
Beispiel: Eingangsdruck muss immer über Ausgangsdruck sein.
2. Zahlenwerte nur bis 2 Stellen nach dem Komma angeben.
3. Bei keiner Einzelberechnung sollen später Eingangsdruck und Temperatur aus einer anderen Datei eingelesen werden. Und wenn möglich z.B. ein Ergebniss in Tabellenform ausgeben werden?
4.In dem Code geht es sicherlich auch ein wenig drüber und drunter. Vielleicht müsste ein wenig aufgeräumt werden.
5. Ist mein Berechnungsformular eigentlich sichtbar in dem Code? Eher nicht, oder?
Danke Stefan
Anzeige
AW: Beispieldatei
15.05.2009 13:49:55
Daniel
Hi
nein, damit das Berechnugnsformular sichtbar wird, musst du schon die Datei hier hochladen.
da max 300 kb möglich sind, entweder Zippen oder nicht benöitge Daten und graphische Elemente löschen.
Gruß, Daniel
AW: Frage offen
15.05.2009 14:29:52
Daniel
ich kann mit rar auch nichts anfangen.
gruß, Daniel
AW: Frage offen
15.05.2009 14:47:05
Stefan
Ich könnte heulen...
die Datei ist 2,4MB groß (warum auch immer, weil soviel ist da nun wirklich nicht enthalten), sodass ich sie in mehrere Dateien aufspalten muss. Doch ich kann hier nur reine .zip dateien hochladen ohne noch dem Zusatz z.B. 001.
Leider habe ich auch keine Ahnung was ich aus der Datei entfernen könnte, damit sie kleiner wird...
Hatte mich schon so gefreut, dass es mit rar geklappt hatte!
Und nun?
Stefan
AW: vielleicht gibt es ja andere, die mit .rar
15.05.2009 14:59:44
Daniel
Dateien was anfangen können und wollen.
ich bin ja hier nicht der einzige.
Gruß, Daniel
Anzeige
Deine "Tabelle1" hat 'nen Knacks
15.05.2009 17:28:13
NoNet
Hallo Stefan,
die Datei ist deshalb so gross, da das Tabellenblatt "Tabelle1" einen Knacks hat :
Auch wenn man die Spalten C:IV und die Zeilen 10:65536 löscht und die Formatierung entfernt und die Mappe nochmal speichert, schliesst und erneut öffnet, springt der Zellzeiger bei Strg+Ende in die letzte Zeile.
Ich habe den Bereich A1:C5 (inkl. der Schaltfläche und des Makros) in ein neues leeres Tabellenblatt kopiert und die "Tabelle1" gelöschtz und das aktuelle Blatt in "Tabelle1" umbenannt, jetzt hat die Datei eine vernünftige Grösse :
https://www.herber.de/bbs/user/61863.xls
Das eigentliche Problem habe ich mir jedoch nicht angeschaut und nach einem anstrengenden Tag nun auch keine Lust mehr dazu... ;-)
Gruß, NoNet
Anzeige
Betreff ist nichtssagend!
15.05.2009 16:12:04
Hinweis
oT
Benötige Feintuning meines tools
15.05.2009 16:22:36
Stefan
besserer Betreff? ;)
AW: Benötige Feintuning meines tools
15.05.2009 21:41:29
Jens
Hallo Stefan
Ich kann mit Deinen Erklärungen rein gar nichts anfangen.
Was genau soll denn dort angepasst/geändert werden?
Gruß aus dem Sauerland
Jens

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige