Hallo M.O.,
mir ist das jetzt ein wenig peinlich!
Du opferst Deine Zeit und bist so geduldig um mir zu helfen und ich habe es Dir falsch erklärt. Tut mir wirklich sehr leid
Ich habe meinen Fehler entdeckt und versuche es nun richtig zu erklären.
In Tabellenblatt 1 (=Ansichtskarten) habe ich einen Button Zufall den ich per Hand auslöse (siehe 1. Post)
In Spalte AZ wird mit einem Makro ein "ja" oder "nein" generiert, wenn in einem angelegten Ordner
das passende Bild vorhanden ist.
Sub Bilder_vorhanden_Vorderseite()
Dim strPfad As String
Dim strDatei As String
Dim lngLetzte As Long
Dim lngZeile As Long
'Pfad in dem die Bilder liegen - anpassen
strPfad = "G:\BILDER\Ansichtskarten\0_Bilder fuer Liste_kurze Seite 3cm_in jpg\"
With ActiveSheet
'letzte beschriebene Zeile in Spalte AL ermitteln
lngLetzte = .Cells(Rows.Count, 38).End(xlUp).Row
For lngZeile = 3 To lngLetzte
strDatei = strPfad & .Cells(lngZeile, 38).Value & ".jpg" 'Pfad und Bildname generieren
'prüfen, ob Bild vorhanden ist
If Len(Dir(strDatei)) = 0 Then
.Cells(lngZeile, 52) = "nein"
Else
.Cells(lngZeile, 52) = "ja"
End If
Next lngZeile
End With
End Sub
In Spalte BD gebe ich das "x" per Hand ein.
In Spalte AW wird eine fortlaufende Nummerierung per Worksheet-Change-Ereignis generiert, wenn in der selben Zeile in Spalte B etwas eingegeben wird. Diese soll dann mit dem Zufall-Genarator ausgegeben werden mit der dazugehörigen Zeilennummer.
Also wird in diesen Spalten auf die es ankommt nichts mit einem Worksheet-Change-Ereignis ausgelöst.
Einen schönen Abend wünscht
Mick
PS Ergänzung:
Dein erstes Makro funktioniert wenn in Zeile 2 die Kriterien erfüllt sind.
Ich habe bisher 712 Zeilen (ausgenommen Zeile 1 & 2 da stehen die Überschriften) und es kommen immer mehr dazu.
Habe versucht den Part "If .Range("AZ2") = "ja" And .Range("BD2") = "x" Then" durch AZ:AZ und BD:BD
zu ersetzen, das funktioniert aber nicht?