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

TextBoxen über Schleife zählen wenn Inhalt nummerisch

TextBoxen über Schleife zählen wenn Inhalt nummerisch
29.11.2019 08:23:07
Ralf

Hallo liebes Forum,
bin gerade am verzweifeln was die Mittelwertberechnung in einer UserForm angeht und ich hoffe ihr könnt mir helfen.
In der Beispieldatei kann der Nutzer aus zwei ComboBoxen Namen auswählen die mit Zahlen hinterlegt sind und in die daneben stehnden TextBoxen übertragen werden.
https://www.herber.de/bbs/user/133487.xlsm
Folgendes soll passieren: Mittelwert aus zwei Zeilen bei Betätigung des Spinbuttons. Über den SpinButton hat der Nutzer die Möglichkeit die hinterlegten Werte anzupassen. Problem ist nur, dass der Nutzer nicht zwingend alle ComboBoxen ausfüllen muss. Es wäre toll, wenn im Spinbutton eine Schleife mitläuft die gleichzeitig zählt ob in Spalte c der UseForm eine Zahl drinnen ist und diese Anzahl an nummerischen Textboxen in Spalte c aufsummiert um den Mittel wert zu berechnen.
Somit erfolgt bei Betätigung des Spinbutton ständig eine Neuberechnung des Mittelwertes mit und gleichzeitig ein zählen an nummerischen Zeilen.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Lösungsvariante
29.11.2019 10:58:18
Beverly
Hi Ralf,
trage in die Tag-Eigenschaft aller TextBoxen in der 3. Reihe z.B. M (hier für Mittelwert, ist willkürlich gewählt) ein - dann kannst du in einer Schleife über alle Steuerelemente prüfen, ob das Element diesen Eintrag in der Tag-Eigenschaft hat und wenn ja, ob sie einen Zahlenwert enthält und dann den Mittelwert berechnen:
Sub Mittelwert()
Dim ctrBox As Control
Dim intZaehler As Integer
Dim dblWert As Double
For Each ctrBox In Controls
If ctrBox.Tag = "M" And IsNumeric(ctrBox) Then
dblWert = CDbl(ctrBox) + dblWert
intZaehler = intZaehler + 1
End If
Next ctrBox
If intZaehler > 0 Then TextBox26 = dblWert / intZaehler
End Sub
Die Sub rufst du dann em Ende deines SpinButton-Codes auf.


Anzeige
AW: Lösungsvariante
29.11.2019 11:23:40
Ralf
Hallo Beverly,
vielen Dank für die Antwort.
Ich hoff es ist ok für dich, wenn ich mich melde sobald ich es ausprobieren konnte.
Ralf
AW: Lösungsvariante
02.12.2019 06:40:11
Ralf
Hallo Beverly,
ich habe deinen Code getest. Vielen Dank dieser funktioniert super (s. https://www.herber.de/bbs/user/133526.xlsm). Anders als in meiner Ausgangsdatei v. 29.11.19 habe ich jetzt noch eine Spalte eingefügt die mir einen Zwischensumme aus jeder Zeile errechnet. Diese Zwischensumme je Zeile geht dann in die Mittelwertberechnung ein. Die Zwischensumme stell ich in der UserForm auf Visible = False.
MfG Ralf

Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige