Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehlerhafte Anzeige von Zellinhalten in Textfelder

Fehlerhafte Anzeige von Zellinhalten in Textfelder
05.08.2005 16:22:02
Zellinhalten
die Werte einer Exceltabelle sollen in 3 Textfeldern auf einer UserForm in einem frei wählbaren Bereich jeweils als Min-, Max- und Mittelwert (MW) angezeigt werden. Es funktioniert im Prinzip auch.
Es kommt aber gelegentlich vor dass die auszuwertenden Zellen anstatt eines Zahlenwerts nur einen Strich “-“ wegen eines fehlenden Messwertes enthalten. in diesem Fall enthalten die 3 Textfelder auch nur einen Strich “-“ (Fall 1). Im Fall 2 wird der Wert 0,0° fälschlicherweise ebenfalls nur als Strich “-“ angezeigt.
Die Anzeige im Fall 3 ist richtig; ebenso die im Fall 4 angezeigte Lösung.
Die Frage ist nun, wie müsste die Abfrage lauten um eindeutig zwischen Strich “-“ und 0,0° zu unterscheiden, das Ergebnis soll wie im „Fall 2 erwartet“ dargestellt aussehen?
Set Bereich3 = ActiveSheet.Range(Cells(vAnfang.Row, 3), Cells(vEnde.Row, 3))
Bereich3.Select
txtMin1 = Format(Application.WorksheetFunction.Min(Bereich3), "0.0 °")
txtMW = Format(Application.WorksheetFunction.Average(Bereich3), "0.0 °")
txtMax1 = Format(Application.WorksheetFunction.Max(Bereich3), "0.0 °")
Fall 1:
--------------------
Zelle1: -
Zelle2: -
--------------------
txtMin: -
txtMW: -
txtMax: -
Fall 2:
--------------------
Zelle1: -
Zelle2: -
Zelle3: 0,0°
--------------------
txtMin: -
txtMW: -
txtMax: -
Fall 3:
--------------------
Zelle1: -
Zelle2: -
Zelle3: 5,0°
--------------------
txtMin: 5,0°
txtMW: 5,0°
txtMax: 5,0°
Fall 4:
--------------------
Zelle1: -
Zelle2: -
Zelle3: 5,0°
Zelle4: 0,0°
--------------------
txtMin: 0,0°
txtMW: 2,5°
txtMax: 5,0°
Fall 2erwartet:
--------------------
Zelle1: -
Zelle2: -
Zelle3: 0,0°
--------------------
txtMin: 0,0°
txtMW: 0,0°
txtMax: 0,0°
Die Frage ist nun, wie müsste die Abfrage lauten um eindeutig zwischen Strich “-“ und 0,0° zu unterscheiden, das Ergebnis soll wie im „Fall 2erwartet“ dargestellt aussehen? Ich habe bereits mehrere Varianten ohne Erfolg ausprobiert, vielleicht muss auch die Abfrage anders formuliert werden.
Falls jemand einen Vorschlag hat bitte ich um Rückmeldung.
Gruß Reiner

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlerhafte Anzeige von Zellinhalten in Textfe
05.08.2005 16:41:41
Zellinhalten
Hallo Reiner,
Test bei mir:
A1: -
A2: -
A3: 0,0° (durch Zellformatierung)
Dann ergibt:

Sub test()
Debug.Print "Min: " & Format(Application.WorksheetFunction.Min(Range("A1:A3")), "0.0 °")
Debug.Print "Avg: " & Format(Application.WorksheetFunction.Average(Range("A1:A3")), "0.0 °")
Debug.Print "Max: " & Format(Application.WorksheetFunction.Max(Range("A1:A3")), "0.0 °")
End Sub

bei mir:

Min: 0,0 °
Avg: 0,0 °
Max: 0,0 °

Ich kann das also nicht nachvollziehen.
Gruß Matthias
Anzeige
AW: Fehlerhafte Anzeige von Zellinhalten in Textfe
05.08.2005 19:16:12
Zellinhalten
Hallo Matthias,
Du hast recht, im Direktfenster komme ich zu dem gleichen Ergebnis wie Du in Deinem Beispiel, aber die Textfelder in meiner UserForm zeigen nach wie vor das bereits geschilderte Ergebnis. So komme ich leider nicht weiter.
Die Frage ist doch, wie kann die Software (evtl. mithilfe einer vorgeschalteten IF-Abfrage) eindeutig zwischen einer Eingabe "0,0 °" und "-" unterscheiden?
Gruß Reiner
AW: Fehlerhafte Anzeige von Zellinhalten in Textfe
05.08.2005 20:18:59
Zellinhalten
Hallo Rainer,
Anzahl der "0":
MsgBox WorksheetFunction.CountIf(Range("A1:A3"),"0")
Anzahl der "-":
MsgBox WorksheetFunction.CountIf(Range("A1:A3"),"-")
Hilft das?
Gruß Matthias
Anzeige
AW: Fehlerhafte Anzeige von Zellinhalten in Textfelder
05.08.2005 20:35:10
Zellinhalten
Hallo Reiner,
warum prüfst du nicht einfach mit WorksheetFunction.Sum(Bereich) ob in dem Bereich als Summe 0 steht?
Gruß
Peter
AW: Fehlerhafte Anzeige von Zellinhalten in Textfe
05.08.2005 22:23:42
Zellinhalten
Hallo Peter und Matthias,
Eure Vorschläge helfen mir zwar nicht unmittelbar bei der Lösung meines Problems da sie aus meiner Sicht von der Fragestellung abweichen, sie geben mir aber neue Anregungen zu anderen Lösungsansätzen.
Gruß Reiner
AW: Fehlerhafte Anzeige von Zellinhalten in Textfe
05.08.2005 22:37:21
Zellinhalten
Hallo Reiner,
muss zugeben, die Frage nicht richtig gelesen zu haben. Prüfe halt, on sich eine Zahl in deinem Bereich befindet. Anpassen kannst du das bestimmt selbst:

Sub AufZahlPrüfen()
Dim rngBereich As Range
Dim rng As Range
Dim bolZahlDa As Boolean
Set rngBereich = Range("A1:A3")
For Each rng In rngBereich
If IsNumeric(rng) Then
bolZahlDa = True
Exit For
End If
Next
If bolZahlDa Then
MsgBox "da"
'hier jetzt die Textboxen mit Werten füllen
Else
MsgBox "keine Zahl zu finden"
End If
End Sub

Gruß
Peter
Anzeige
AW: Fehlerhafte Anzeige von Zellinhalten in Textfe
06.08.2005 17:16:50
Zellinhalten
Danke Peter,
so gehts auch
Gruß Reiner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige