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

Text ignorieren

Text ignorieren
19.08.2021 06:51:31
Daniel
Guten Morgen
Ich möchte prüfen ob der Bereich "B4:E7,B9:E28" leer ist. Dies mache ich wie folgt und funktioniert auch.

If Application.WorksheetFunction.CountA(Worksheets(FrameNumber).Range("B4:E7,B9:E28")) = 0 Then
MsgBox "Es sind keine Daten vorhanden!"
Else
MsgBox "Es sind Daten vorhanden!"
End If
Nun kann es sein, dass im Bereich "B4:B7,B9:B26" der Text "Zeit frei halten!" steht. Dann funktioniert mein obengenannte Code schon nicht mehr.
Gibt es eine Möglichkeit, diesen Text zu ignorieren?
Besten Dank für Eure Vorschläge & einen schönen Tag.
Gruss Daniel Eberhard

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text ignorieren
19.08.2021 08:34:45
GerdL
Moin Daniel Eberhard!

Const strText = "Zeit frei halten!"
Dim Bereich1 As Range, Bereich2 As Range, strText As String, X As Long
strText = "Zeit frei halten!"
Set Bereich1 = Worksheets(Framenumber).Range("B4:E7")
Set Bereich2 = Worksheets(Framenumber).Range("B9:E28")
With Application.WorksheetFunction
X = .CountA(Union(Bereich1, Bereich2)) - .CountIf(Bereich1, strText) - .CountIf(Bereich2, strText)
End With
If X = 0 Then MsgBox "Es sind keine Daten vorhanden!"
If X > 0 Then MsgBox "Es sind Daten vorhanden!"
Set Bereich1 = Nothing: Set Bereich2 = Nothing
Gruß Gerd
Anzeige
AW: Text ignorieren
19.08.2021 10:06:29
Daniel
Hallo Gerd
Vielen Dank für Dein Vorschlag.
Musste die Zeile Const strText = "Zeit frei halten!" entfernen da ich sonst einen Fehler erhalte. Ist das richtig? Funktioniert jedenfalls! :-)
Gruss Daniel Eberhard
AW: Text ignorieren
19.08.2021 10:06:46
Daniel
Hallo Gerd
Vielen Dank für Dein Vorschlag.
Musste die Zeile Const strText = "Zeit frei halten!" entfernen da ich sonst einen Fehler erhalte. Ist das richtig? Funktioniert jedenfalls! :-)
Gruss Daniel Eberhard
oT ein Vorschlag ...
19.08.2021 10:28:49
neopa
Hallo Daniel Eberhard,
... Du bist mit aktuell 284 Beiträgen offensichtlich schon eine geraume Weile Nutzer des Forums. Dein Username: Daniel wurde und wird aber schon seit vielen Jahren von einem der aktivsten Helfer hier im Forum in gleicher Schreibweise genutzt. Wenn andere im Forum nun den User-Namen Daniel lesen, führt das deswegen zumindest kurzzeitig zu Verwechselungen.
Deshalb die Bitte, Du könntest das einfach ändern, in dem Du in einem nächsten Beitrag den (User-)Namen (oberhalb der Betreff Eingabezeile in jedem Beitrag angezeigt und änderbar)) einmalig diesen auf z.B. : Daniel E" abändern würdest. Dieser Username ist mE bisher noch nicht genutzt und unterscheidet sich somit sofort erkennbar von nur Daniel.
Die so vorgenommene Änderung Deines Usernamen hat keinen Einfluss auf die Listung über die Funktion [Deine Beiträge] und wird auch für Deine Folgebeiträge so automatisch beibehalten.
Gruß Werner
.. , - ...
Anzeige
AW: oT ein Vorschlag ...
19.08.2021 11:01:42
GerdL
Upps, eine doppelte Deklarierung, entschuldige bitte.
nein Daniel, lass diese Zeile bitte drin.
Lösche stattdessen in der Zeile mit "Dim..
strText As String,
raus.
Gruß Gerd
AW: oT ein Vorschlag ...
19.08.2021 11:04:06
Daniel
Hallo Werner
Vielen Dank für die Hilfe.
Hatte das Problem schon öfters, aber diesbezüglich noch keine Hilfe erhalten. Habe es nun geändert und hoffe ist so in Ordnung?
Gruss Daniel E
AW: oT ein Vorschlag ...
19.08.2021 11:12:13
GerdL
Hallo,
so war das angedacht, damit die Ausnahme oben steht.

Const strText = "Zeit frei halten!"
Dim Bereich1 As Range, Bereich2 As Range, X As Long
Set Bereich1 = Worksheets(Framenumber).Range("B4:E7")
Set Bereich2 = Worksheets(Framenumber).Range("B9:E28")
With Application.WorksheetFunction
X = .CountA(Union(Bereich1, Bereich2)) - .CountIf(Bereich1, strText) - .CountIf(Bereich2, strText)
End With
If X = 0 Then MsgBox "Es sind keine Daten vorhanden!"
If X > 0 Then MsgBox "Es sind Daten vorhanden!"
Set Bereich1 = Nothing: Set Bereich2 = Nothing
Gruß Gerd
Anzeige
AW: oT ein Vorschlag ...
19.08.2021 14:42:46
Daniel
Hallo Gerd
Habe noch etwas gearbeitet. Nun sieht der Code so aus:

Sub CopyRange()
Dim Bereich1 As Range, Bereich2 As Range, X As Long
If ActiveSheet.CodeName = "Tabelle10" Then
If Application.WorksheetFunction.CountA(Worksheets("Etiketten").Range("A3:E26")) = 0 Then
MsgBox "Es sind keine Daten in der Tabelle Etiketten vorhanden!", vbInformation, "Hinweis"
Else
If Worksheets("Depot").Range("M4") = "" Then
Path_check "Etiketten01.docm", "docm", "4"
Else
Application.ScreenUpdating = False                                                       ' Bildschirmausgabe abschalten
Call Worksheets("Etiketten").Range("A3:D26").Copy
Tabelle9.Range("A2").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True                                                        ' Bildschirmausgabe einschalten
End If
End If
Else
Const strText = "Zeit frei halten!"
Set Bereich1 = ActiveSheet.Range("B4:E7")
Set Bereich1 = ActiveSheet.Range("B9:E28")
With Application.WorksheetFunction
X = .CountA(Union(Bereich1, Bereich2)) - .CountIf(Bereich1, strText) - .CountIf(Bereich2, strText)
End With
If X = 0 Then
MsgBox "Es sind keine Daten in der Tabelle " & ActiveSheet.Name & " vorhanden!", vbInformation, "Hinweis"
Else
MsgBox ActiveSheet.Name
End If
End If
End Sub
Jedoch krieg ich jetzt eine Fehlermeldung bei folgender Zeile:

X = .CountA(Union(Bereich1, Bereich2)) - .CountIf(Bereich1, strText) - .CountIf(Bereich2, strText)
Was habe ich falsch gemacht?
Gruss Daniel Eberhard
Anzeige
AW: oT ein Vorschlag ...
19.08.2021 15:48:29
GerdL
Hallo Daniel,
Gott sei dank hab nicht nur ich das Fehlerteufelchen. :-)
Set Bereich1 = ActiveSheet.Range("B4:E7")
Set Bereich1 = ActiveSheet.Range("B9:E28")
Da sollte eine "2" stehen.
Gruß Gerd
AW: oT ein Vorschlag ...
20.08.2021 09:18:12
Daniel
Hallo Gerd
Wollte nur kurz DANKE sagen! Habe die Zahl geändert und siehe da, es funktioniert! :-)
Wünsche ein schönes Wochenende....
Gruss Daniel Eberhard
AW: ja, so ist es gut owT
19.08.2021 11:54:09
neopa
Gruß Werner
.. , - ...
AW: Text ignorieren
19.08.2021 09:18:26
Klaus
Hallo Daniel,
steht da genau "Zeit frei halten!" und nie etwas anderes? Dann zähle doch einfach das und ziehe es von ContA ab - wenn dann 0 heraus kommt, sind keine Daten vorhanden.
Schaffst du es selbst, ein worksheetfunction.COUNTIF zu schreiben oder brauchst du dabei Hilfe?
LG,
Klaus M.
Anzeige
ich hätte F5 ...
19.08.2021 09:19:25
Klaus
... drücken sollen, dann hätte ich Gerd's 1A Lösung gesehen :-)
LG,
Klaus M.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige