Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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
Mittelwert bei Userform wenn ein Feld leer ist
15.11.2017 13:27:00
Fexcel
Hallo liebe Excelprofis,
ich bin zum ersten mal hier und hoffe es kann mir jemand helfen. Bin in VBA noch eher Einsteiger, da ich mir die Codes noch viel von Foren zusammen kopiere.
Ich habe eine Userform (frm_Qualitaetsdaten) in der ich Werte in den Feldern txtx1-txtx5 eingebe. jetzt möchte ich, dass mir der Mittelwert berechnet wird und wenn in einer Zelle nichts drinsteht soll der Wert ignoriert werden. Also eigentlich wie bei der Formel =Mittelwert()
Habe folgenden Code

Private Sub cmdübernehmen_Click()
'fügt die eingetragenen Werte ins Tabellenblatt und schließt das Formular
Dim intErsteLeereZeile As Long
Dim Spitzenwert1 As Double
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
Spitzenwert1 = Application.Average(txtx1, txtx2, txtx3, txtx4, txtx5)
' so übernehme ich die Werte
ActiveSheet.Cells(intErsteLeereZeile, 10).Value = Me.txtx1.Value
ActiveSheet.Cells(intErsteLeereZeile, 11).Value = Me.txtx2.Value
ActiveSheet.Cells(intErsteLeereZeile, 12).Value = Me.txtx3.Value
ActiveSheet.Cells(intErsteLeereZeile, 13).Value = Me.txtx4.Value
ActiveSheet.Cells(intErsteLeereZeile, 14).Value = Me.txtx5.Value
End Sub

Wie kann ich hier den Mittelwert bilden ohne dass es mir eine Fehlermeldung ausgibt, wenn ein Feld nicht beschrieben ist? Außerdem nimmt er mit keine Kommazahlen, woran kann das liegen?
Code nicht vollständig, den Rest kann ich dann umschreiben.
Vielen Dank für Eure Hilfe!
Schönen Gruß
Fexcel

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mittelwert bei Userform wenn ein Feld leer ist
15.11.2017 18:32:59
ChrisL
Hi
Gibt vielleicht noch elegantere Lösungen, aber hier mal was...
Dim i As Integer
Dim iCounter As Integer, cSumme As Currency
For i = 1 To 5
If Controls("txtx" & i)  "" Then
cSumme = cSumme + Controls("txtx" & i).Value
iCounter = iCounter + 1
Next i
If iCounter > 0 Then MsgBox cSumme / iCounter
cu
Chris
AW: Mittelwert bei Userform wenn ein Feld leer ist
16.11.2017 17:56:21
Fexcel
Hallo Chris,
sorry für die späte Antwort, hatte etwas Stress.
Dein Code funktioniert einwandfrei! Ein End if hat noch gefehlt aber das hat mir de Debugger gleich gesagt.
Vielen Dank für deine schnelle Antwort! Hat mir wirklich sehr geholfen!!! :-)
Schönen Gruß
Felix
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige