Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Makro zum Zeilen markieren





Frage

Hallo! Ich habe eine Spalte, in der Wahr und Falsch steht und bräuchte ein Makro, dass die gesamte Arbeitsmappe durchsucht und alle Zeilen markiert, die z.B. falsch sind. Leider kenn ich mich überhaupt nicht aus und bin im Programmieren total schlecht. Wäre super, wenn mir da jemand helfen könnte Danke LG

Antwort 1 von coros

Hallo Pferdchen...,

mal ganz auf die Schnelle, sollte nachfolgendes Makro das machen, was Du Dir vorgestellt hast. Kopiere es in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche.

Option Explicit

Sub Prüfen()
Dim iSheet  As Integer
Dim iRow    As Long
Dim iColumn As Integer
Application.ScreenUpdating = False
For iSheet = 1 To Worksheets.Count
    For iRow = 1 To Sheets(iSheet).UsedRange.Rows.Count
        For iColumn = 1 To Sheets(iSheet).UsedRange.Columns.Count
            If LCase(Sheets(iSheet).Cells(iRow, iColumn).Text) = "falsch" Then
                Sheets(iSheet).Cells(iRow, iColumn).Interior.ColorIndex = 3
            Else
                Sheets(iSheet).Cells(iRow, iColumn).Interior.ColorIndex = xlNone
            End If
        Next
    Next
Next
End Sub


Ich hoffe, Du meintest das so.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

Bei Fragen melde Dich.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von peko

Danke, kann ich auch gebrauchen.

Gruß
Peter

Antwort 3 von nighty

hi all :-)

wie gewuenscht :-))

alle drei codes gehoeren in ein allgemeines modul

gruss nighty

Option Explicit
Option Base 1
Sub FarbMarkierung()
Call EventsOff
Dim tabellen As Integer
Dim zeile As Long, zaehler As Long
ReDim matrix(1, 1) As Variant
For tabellen = 1 To Worksheets.Count
Worksheets(tabellen).Select
Rem spalte 2 zur zeit mit den true false werten
zeile = Worksheets(tabellen).Cells(Rows.Count, 2).End(xlUp).Row
If zeile > 1 Then
ReDim matrix(zeile, 1)
Rem spalte 2 bzw b mit den true false werten
matrix() = Range("B1:B" & zeile)
For zaehler = 2 To zeile
If CStr(matrix(zaehler, 1)) = "Falsch" Then
Rows(zaehler).Interior.ColorIndex = 3
End If
Next zaehler
End If
Next tabellen
Worksheets(1).Select
Call EventsOn
End Sub


Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub


Public Sub EventsOn()
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub


Antwort 4 von nighty

hi all :-)

war wie immer zu langsam :-))

wobei verschiedene varianten immer schoen anzusehen sind :-))

gruss nighty

Antwort 5 von pferdchen

Hallo!

Danke euch allen . Hat super geklappt und ich hab mir dadurch viel Arbeit erspart.


Lieben Gruss

pferdchen

Antwort 6 von Hajo_Zi

Hallo,

hätte da nicht eine Makrofreie Lösung mit Format, bedingte Formatierung gereicht?

Gruß Hajo

Antwort 7 von nighty

hi hajo :-)

ich seh das eher andersherum,formeln verlangsamen excel dermassen das allenfalls eine mischloesung generell fuer mich in frage kaeme,bevorzugt nur makros :-)))

gruss nighty

Antwort 8 von Hajo_Zi

Hallo Nighty,

ich sehe es eher so das man Formeln einsetzen sollte. In einigen Firmen sind Makros nicht erlaubt. Makros müssen aktiviert werden und dieses Makro muss auch noch ausgeführt werden.

Da kann aber jede seine Auffassung durchsetzen.

Gruß Hajo