Anzeige
Archiv - Navigation
1584to1588
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

Bestimmte Zeilen löschen oder markieren

Bestimmte Zeilen löschen oder markieren
08.10.2017 20:17:50
rangy
Guten Abend.
Hätte gerne für Problem eine Frage. Würde gerne
über VBA bestimmte Zeilen bei Übereinstimmung ganz löschen lassen.
Vorgabe: Exceldatei mit 2 Arbeitsblätter.
Im 1. Arbeitsblatt stehen ca. 6000 Datensätze (immer drei möglich Antworten) wie folgt:
Spalte A Spalte B
1. Name Müller
a. Ja
b. Nein
c. Vielleicht
2. Name Otto
a. Nein
b. Ja
c. ohne Zweifel
3. usw.....
Nun habe ich im 2. Arbeitsblatt folgendes stehen:
Spalte A
1b
2c
Nun sind das im 2. Arbeitsblatt die Lösungen.
Gerne hätte ich es, dass die richtigen Lösungen farblich markiert werden oder
die falschen Lösungen gelöscht werden.
Ich würde mich sehr über eine Antwort freuen.
Gruß
Günter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispieldatei! o.T.
08.10.2017 20:19:23
Sepp
Gruß Sepp

AW:mal ein Versuch
09.10.2017 08:42:01
hary
Moin
Teste mal das Makro.
Sub einfaerben()
Dim Schleife As Long, Zeile As Long
Dim wksQ As Worksheet, wksZ As Worksheet
Dim Bereich As Range
Dim a As Variant
Set wksQ = Worksheets("Tabelle1")
Set wksZ = Worksheets("Tabelle2")
wksQ.Columns(1).Interior.Color = xlNone
Zeile = 1
For Schleife = 1 To wksQ.Cells(Rows.Count, 1).End(xlUp).Row Step 5
Set Bereich = wksQ.Cells(Schleife + 1, 1).Resize(3, 1)
a = Application.Match(Mid(wksZ.Cells(Zeile, 1), 2, 9 ^ 9) & "*", Bereich, 0)
If IsNumeric(a) Then
Bereich.Cells(a).Interior.Color = vbGreen
End If
Zeile = Zeile + 1
Next
Set wksQ = Nothing
Set wksZ = Nothing
Set Bereich = Nothing
End Sub

gruss hary
Anzeige
AW: AW:mal ein Versuch
09.10.2017 15:04:29
rangy
Hallo Hary,
läuft sehr gut, wenn die Lösungen in der richtigen Reihenfolge stehen.
Kann man da was machen, wenn die Lösungen nicht hintereinander stehen?
Gruß
noch'n Versuch
09.10.2017 18:36:09
KlausF
Hallo Hary,
probier mal:
Sub Faerben()
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Set wksQuelle = Worksheets("Tabelle1")
Set wksZiel = Worksheets("Tabelle2")
Dim rng As Range
Dim i As Long, a As Long, r As Long, findRow As Long, x As Long, lngRow As Long
lngRow = wksZiel.Cells(Rows.Count, "A").End(xlUp).Row
Dim strSuche As String, rngSuche As String
a = 1
wksQuelle.Columns(1).Interior.Color = xlNone
Application.ScreenUpdating = False
For i = 1 To wksQuelle.Cells(Rows.Count, "A").End(xlUp).Row Step 5
With wksZiel
strSuche = a
For Each rng In .Range("A1:A" & .Cells(Rows.Count, "A").End(xlUp).Row)
If Left((rng), Len(rng) - 1) = strSuche Then
findRow = rng.Row
Exit For
End If
Next rng
End With
r = Range(Right(wksZiel.Range("A" & findRow), 1) & 1).Column
Range("A" & i + r).Interior.Color = vbGreen
a = a + 1
If a > lngRow Then Exit For
Next
Set wksQuelle = Nothing
Set wksZiel = Nothing
Set rng = Nothing
End Sub
Keine Fehlerkorrektur eingebaut.
Gruß
Klaus
Anzeige
noch eine kleine Korrektur
09.10.2017 18:48:34
KlausF

Sub Faerben()
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Set wksQuelle = Worksheets("Tabelle1")
Set wksZiel = Worksheets("Tabelle2")
Dim rng As Range
Dim i As Long, a As Long, r As Long, findRow As Long, x As Long, lngRow As Long
lngRow = wksZiel.Cells(Rows.Count, "A").End(xlUp).Row
Dim strSuche As String, rngSuche As String
a = 1
wksQuelle.Columns(1).Interior.Color = xlNone
Application.ScreenUpdating = False
For i = 1 To wksQuelle.Cells(Rows.Count, "A").End(xlUp).Row Step 5
With wksZiel
strSuche = a
For Each rng In .Range("A1:A" & lngRow)
If Left((rng), Len(rng) - 1) = strSuche Then
findRow = rng.Row
Exit For
End If
Next rng
End With
r = Range(Right(wksZiel.Range("A" & findRow), 1) & 1).Column
Range("A" & i + r).Interior.Color = vbGreen
a = a + 1
If a > lngRow Then Exit For
Next
Set wksQuelle = Nothing
Set wksZiel = Nothing
Set rng = Nothing
End Sub
Gruß
Klaus
Anzeige
AW: noch eine kleine Korrektur
09.10.2017 19:41:21
rangy
Hallo Klaus.
Vielen Dank. Ich teste jetzt mal aus.
Melde mich....
Gruß
AW: noch eine kleine Korrektur
10.10.2017 10:48:32
rangy
Guten Tag Klaus,
vielen Dank für Deine tolle Leistung.
Mit etwas Nacharbeit (aber meine Fehler) habe ich
mein Bogen mit Lösung wunderbar bearbeiten können.
Nochmals Danke
Gruß
Günter
AW: noch eine kleine Korrektur
10.10.2017 15:04:38
KlausF
Hallo Günter,
das freut mich! Danke für Deine Rückmeldung.
Gruß
Klaus

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige