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