Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Frage - Makro wiederholen ?

Forumthread: VBA - Frage - Makro wiederholen ?

VBA - Frage - Makro wiederholen ?
28.08.2007 18:23:00
Selma
Hallo Leute,
ich habe eine Frage.
Mit dem Makro "FilePruefung_Hyperlink" wird für markierten Zeilenbereich (Markierung der Zeilen erfolgt durch das Makro "Markieren_bis_Graue_Zelle") über Hyperlink-Adresse geprüft, ob die Hyperlink-Dateien auf der Festplatte existieren.
Fehlende Dateien werden mit Farbe 22 eingefärbt. Soweit gut.
Ich möchte gern, dass das Makro "FilePruefung_Hyperlink" die Prüfung für die nächsten Zeilenbereich wie folgt fortsetzt. Wenn das Makro "FilePruefung_Hyperlink mit der Prüfung fertig ist, soll die Zeile mit der Farbe 15 (bezogen auf Spalte A) übersprungen werden und dann nochmal die Prüfung für nächsten Bereich durchführen.
Das Makro soll bis nächste leere Zelle der Spalte A durchlaufen.
Was muss ich ändern ?

Sub FilePruefung_Hyperlink()
Call Markieren_bis_Graue_Zelle
Dim brColor As Integer
Dim myRange As Range
For Each myRange In Selection
myRange.Interior.ColorIndex = 0
If myRange.Hyperlinks.Count > 0 Then
If Dir$(myRange.Hyperlinks(1).Address) = "" Then
myRange.Interior.ColorIndex = 22
brColor = brColor + 1
End If
End If
Next
End Sub



Sub Markieren_bis_Graue_Zelle()
'ab aktive Zellenzeile bis die nächste Zelle (bezogen auf Spalte A)
'mit grauer Hintergrundfarbe kommt bzw. nächste leere Zelle (bezogen auf Spalte A)
'werden die Zeilen markiert.
Dim lZeile  As Long
Dim lStart  As Long
lStart = ActiveCell.Row
For lZeile = lStart To Range("A65536").End(xlUp).Row + 1
If Range("A" & lZeile).Interior.ColorIndex = 15 Or _
Range("A" & lZeile).Value = "" Then
Rows(lStart & ":" & lZeile - 1).Select
Exit For
End If
Next lZeile
End Sub


Vielen Dank im Voraus...
Liebe Grüße
Selma

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Frage - Makro wiederholen ?
01.09.2007 11:43:00
fcs
Hallo Selma,
die Prüfung der Hyperlinks in der Spalte ab der der aktiven Zelle kannst du auch in einer Do...Loop-Schleife durchführen und dabei die graue(n) Zelle(n) überspringen. Das Makro "Markieren_bis_Graue_Zelle" ist dann für die Prüfung nicht mehr erforderlich
Gruß
Franz

Sub FilePruefung_Hyperlink()
Dim brColor As Integer
Dim myRange As Range
Dim Zeile1 As Long, ZeileGrau As Long, zeileLetze As Long
Zeile1 = ActiveCell.Row
Set myRange = Cells(Zeile1, 1) 'Startzelle in Spalte A
'Prüfen bis 1. Zelle leer, graue Zelle wird übersprungen
Do Until myRange.Value = ""
If myRange.Interior.ColorIndex = 15 Then
ZeileGrau = myRange.Row
Else
myRange.Interior.ColorIndex = 0
If myRange.Hyperlinks.Count > 0 Then
If Dir$(myRange.Hyperlinks(1).Address) = "" Then
myRange.Interior.ColorIndex = 22
brColor = brColor + 1
End If
End If
End If
Set myRange = myRange.Offset(1, 0)
Loop
ZeileLetzte = myRange.Row - 1
'Zellen markieren
'eine der beiden folgenden Zeilen ist nur erforderlich, wenn einer der beiden _
geprüften Bereiche nach Ausführung des Makros selektiert sein soll
Range(Cells(Zeile1, 1), Cells(ZeileGrau - 1, 1)).Select
Range(Cells(ZeileGrau + 1, 1), Cells(ZeileLetzte, 1)).Select
End Sub


Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige