Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Rechnen mit Textboxen - Nullwerte ausschließen

Rechnen mit Textboxen - Nullwerte ausschließen
29.07.2004 08:39:14
Holger
Hallo Excel-Freunde,
stundenlang grüble ich schon über eine Sache nach und komme nicht zu einer Lösung.
Hintergrund: Ich arbeite in einem Akustikbüro und möchte einen kleinen Dialog basteln, mit dem man ganz einfach (Schall-)Pegel logarithmetisch addieren kann.
Dafür habe ich in eine Userform 16 Textboxen gepackt, die ich so präpariert habe, dass man nur Zahlen eingeben kann. Standardmäßig soll eine Null darin stehen. Dann gibt es noch einen Button, der die Berechnung startet und eine weitere Textbox, die das Ergebnis anzeigt. Soweit so gut.
Nun möchte ich aber ausschließen, das bei der Berechnung auch die Textboxen mit den Nullwerten einbezogen werden. Bsp.: 1+1 ergibt bei der Pegeladdition 4, nach meinem Makro kommt aber 15,19 heraus?!

Private Sub cmd_berech_Click()
Dim k As Integer, Ctr As Control
For k = 1 To 16
If k > 16 Then Exit For
For Each Ctr In frame_txt.Controls
If Controls("txt_Pegel" & k).Value > 0 Then
Wert = Wert + 10 ^ (Ctr.Value / 10)
End If
Next Ctr
Next k
Controls("txt_Ergebnis") = Application.Log(Wert) * 10
End Sub

Ich hoffe, das Prinzip ist verstanden und ihr habt ne gute Idee für mich.
Schöne Grüße,
Holger
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechnen mit Textboxen - Nullwerte ausschließen
29.07.2004 09:29:31
EtoPHG
Ersetze
If Controls("txt_Pegel" & k).Value &gt 0
mit
If VAL(Controls("txt_Pegel" & k).Value) &gt 0
Hansueli
AW: Rechnen mit Textboxen - Nullwerte ausschließen
29.07.2004 09:37:26
Holger
Hmm, das hat leider an dem Problem nichts geändert. Was sollte Dein Vorschlag verändern, Hansueli?
AW: Rechnen mit Textboxen - Nullwerte ausschließen
29.07.2004 10:13:56
EtoPHG
OK das war zu schnell und unüberlegt.
Tatsache ist, dass Dein Code pro Textbox soviel mal durchlaufen wird, wie Du Controls in Deinem frame hast, was natürlich Unsinn ist.
Vielleicht funktioniert das:
Dim k As Integer
Dim wert As Double
For k = 1 To 16
If k &gt 16 Then Exit For
If Controls("txt_Pegel" & k).Value &gt 0 Then
wert = wert + 10 ^ (Controls("txt_Pegel" & k).Value / 10)
End If
Next k
Controls("txt_Ergebnis").Text = Application.Log(wert) * 10
Hansueli
Anzeige
Nun bin ich glücklich, Hansueli - Danke - o. T.
29.07.2004 10:45:54
Holger
:-)
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige