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

Wert finden und wenn Wert in Zeile vergl

Wert finden und wenn Wert in Zeile vergl
24.11.2022 05:38:06
Thomas
Hallo,
ich möchte in einer Tabelle alle doppelten Werte in Spalte 9 finden und dann prüfen ob der Wert in Spalte 8 (Währung) = 0 ist, wenn ja dann will ich diese Zeile leeren.
Aber irgendwie bekomme ich das nicht hin, da der Wert "0" anscheint nicht korrekt erkannt wird in Spalte 8 und somit auch falsche Werte gelöscht werden.
Wo liegt mein Fehler?
Die erwartung in der Beispielmappe anbei wäre das Zeile 5 und 7 geleert würden, da es den Key in 9 zweimal gibt(6 und 4) und in 5 und 7 Spalte 8=0 ist.
Aber es wird auch Zeile 4 und 6 gelöscht.......
Anbei eine Beispielmappe dazu.
Danke
https://www.herber.de/bbs/user/156370.xlsm

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert finden und wenn Wert in Zeile vergl
24.11.2022 06:53:16
ralf_b
nimm mal das rngTreffer vor .Cells raus

Do
If rngTreffer.Cells(rngTreffer.Row, 8) = CCur(0) Then

AW: Wert finden und wenn Wert in Zeile vergl
24.11.2022 09:42:39
Thomas
Hallo Ralf,
vielen Dank, das löscht dann korrekt wie es soll. Allerdings schein ich noch einen anderen Fehler eingebaut zu haben, denn es erscheint mir wie eine Endlosschleife, Excel und VBA ist komplett blockiert, find nur nicht wieso.
Danke
AW: Wert finden und wenn Wert in Zeile vergl
24.11.2022 09:47:33
Thomas
Wenn ich das richtig sehe, dann hängt es in Zeile 6 "fest" und wiederholt deshalb da immer die schleife.
AW: Wert finden und wenn Wert in Zeile vergl
24.11.2022 09:53:41
Herbert_Grom
Hallo Thomas,
probiers mal damit:
https://www.herber.de/bbs/user/156376.xlsm
Servus
Anzeige
AW: Wert finden und wenn Wert in Zeile vergl
24.11.2022 12:36:21
Thomas
Hallo Herbert,
vielen Dank dafür, das scheint perfekt zu funktionieren, nur mit dem Verstehen haperts noch....
Was bedeutet

Dim a&, lAnzahl&
also das & dahinter?
Wenn ich das hier richtig interpretiere

For a = 2 To WorksheetFunction.CountIf(Range("Tabelle2[Key]"), ">A") + 1
dann funktioniert das nur mit "intelligenten" Tabellen? Anstelle des Tabellnamens arbeite ich lieber mit dem CodeNamen, würde das auch funktionieren? Die Zeile legt "nur" fest das von der 2 bis zur letzten Zeile alle durchlaufen werden oder?

lAnzahl = WorksheetFunction.CountIf(Range("Tabelle2[Key]"), "=" & Cells(a, 9))
hier wird gespeichert wie oft der Wert in Spalte 9 vorkommt?
Wenn lAnzahl größer 1 ist dann wird die reihe aus "a" genommen und gegen "0" geprüft und wenn es = ist dann wird die Zeile gelöscht!?
Hab ich das soweit richtig verstanden?
Könnte man den letzten teil nicht auch über EntireRow.Clear lösen? Es könnte ja mal sein das die Tabelle dynamischer ist und es mal mehr Spalten geben würde!?
Danke
Anzeige
AW: Wert finden und wenn Wert in Zeile vergl
24.11.2022 12:53:55
Herbert_Grom
Das & dahinter ist der Ersatz für "as Long". Kannst du auch mal googeln.
Und klar kannst du das auch so lösen:

Option Explicit
Sub DoppelteLeeren()
Dim a&, lAnzahl&
For a = 2 To WorksheetFunction.CountIf(Range("Tabelle2[Key]"), ">A") + 1
lAnzahl = WorksheetFunction.CountIf(Range("Tabelle2[Key]"), "=" & Cells(a, 9))
If lAnzahl > 1 Then
If Cells(a, 8) = 0 Then Rows(a & ":" & a).EntireRow.EntireRow.Clear
End If
Next a
End Sub
Servus
AW: Wert finden und wenn Wert in Zeile vergl
25.11.2022 06:58:56
Thomas
Super funktioniert, Danke.
MFG
Thomas
AW: Bitte sehr & danke für die Rückmeldung! owt
25.11.2022 09:30:17
Herbert_Grom
,,,

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige