Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1876to1880
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

Prüfung Zellen

Prüfung Zellen
08.04.2022 11:07:56
xtian
Hallo zusammen,
wäre für etwas Hilfe dankbar. In einer Excel-Liste sind Zahlen ab der Zelle A1 so aufgelistet:
A1: 2015
A2: 2015
A3: 2016
A4: 2016
A5: 2017
A6: 2018
A7: 2018
usw.
Das Makro soll jetzt überprüfen, ob immer eine Zelle tiefer der gleiche Wert steht. Hier im Bsp. ist das bei den Zellen
A1+A2 (und auch bei A3+A4, A6+A7) mit "2015" der Fall. Jetzt soll das Makro in den Zellen B1+B2 "Ok" schreiben.
"2017" aus Zelle A5 gibt es nicht eine Zelle tiefer. Hier soll das Makro dann in Zelle B5 "Fehler" eintragen.
Kann ich das Makro so schreiben. Traue den Braten als VBA-Anfänger nicht so recht...

Sub DoppelteUeberpruefen()
Dim RaZelle As Long
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Rows.Row
For RaZelle = LastRow To 1 Step -1
If Cells(RaZelle, 1).Value = Cells(RaZelle + 1, 1).Value Then
Cells(RaZelle, 1).Offset(0, 1) = "Ok"
Cells(RaZelle + 1, 1).Offset(0, 1) = "Ok"
Else
Cells(RaZelle, 1).Offset(0, 1) = "Fehler"
End If
Next RaZelle
End Sub
Viele Grüße
xtian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung Zellen
08.04.2022 11:16:41
ChrisL
Hi
Bevor wir mit VBA starten, erstmal die Logik verstehen. Vorausgesetzt die Liste ist sortiert, würde folgende Formel (in B1 abwärts) die Aufgabe lösen?

=WENN(ZÄHLENWENN(A:A;A1)=2;"OK";"Fehler")
cu
Chris
AW: Prüfung Zellen
08.04.2022 11:20:36
xtian
Hallo Chris,
vielen Dank für die Antwort. Ich würde das gerne per VBA lösen. Die Liste wird per Makro zuvor
sortiert.
Viele Grüße
xtian
AW: Prüfung Zellen
08.04.2022 11:29:09
ChrisL
Hi
Ich interpretiere deine Antwort mal als ein "ja". Zwei Varianten:

Sub DoppelteUeberpruefen()
Dim RaZelle As Long
Dim LastRow As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For RaZelle = 1 To LastRow
If WorksheetFunction.CountIf(.Columns(1), .Cells(RaZelle, 1)) = 2 Then
.Cells(RaZelle, 2) = "OK"
Else
.Cells(RaZelle, 2) = "Fehler"
End If
Next RaZelle
End With
End Sub

Sub tt()
With ActiveSheet
With .Range("B1:B" & .Cells(.Rows.Count, 1).End(xlUp).Row)
.Formula = "=IF(COUNTIF(A:A,A1)=2,""OK"",""Fehler"")"
.Value = .Value
End With
End With
End Sub
cu
Chris
Anzeige
AW: Prüfung Zellen
08.04.2022 13:56:16
xtian
Super, vielen Dank.
AW: Prüfung Zellen
08.04.2022 12:11:11
GerdL
Moin

Sub Unit()
Dim C As Range
For Each C In Cells(1, 1).Resize(WorksheetFunction.CountA(Columns(1)), 1)
If C.Row = 1 Then
If C  C.Offset(1) Then C.Offset(0, 1) = "Fehler"
Else
If Not C = C.Offset(-1) And Not C = C.Offset(1) Then C.Offset(0, 1) = "Fehler"
End If
Next
End Sub
Gruß Gerd
AW: Prüfung Zellen
08.04.2022 13:56:47
xtian
Perfekt, vielen Dank. LG xtian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige