Ich habe folgendes Problem bzw. Probleme:
Der Teil meines Makros prüft als erstes alle meine Tabellennamen auf die Werte eines vorher erstellten Arrays. Dies dient um zu überprüfen ob Daten fehlen. Danach erstellt es ein Neues Tabellenblatt wo vorher vom Makro verwendete Dateien aufgelistet werden sowie fehlende Daten.
Zum Schluss gibt es die fehlenden Daten nochmal in einer MsgBox aus.
Soweit funktioniert auch alles.
Ändern würde ich jetzt gerne folgendes:
Zum einen werden bis dato die fehlenden Dateinamen auf dem neuen Worksheet in einer einzigen Zelle untergebracht. Ich hätte es aber gerne so, dass jeder Wert eine neue Zelle zugewiesen bekommt. Am besten untereinander.
Und meine zweite Änderung die ich nicht hinbekomme ist, dass die MsgBox nur ausgegeben werden soll, wenn auch wirklich Daten fehlen. Bisher erscheint sie auch, wenn überhaupt nichts fehlt.
Ich hoffe jemand kann mir helfen und versteht was ich meine. Hier nochmal der Code ausschnitt in dem das ganze passiert.
For Each wert In arr
For i = 1 To ThisWorkbook.Worksheets.Count
If wert = ThisWorkbook.Worksheets(i).Name Then Exit For
Next i
If i > ThisWorkbook.Worksheets.Count Then ergebnis = ergebnis & vbLf & wert
Next wert
Set doku = ThisWorkbook.Worksheets.Add
doku.Name = "verwendete Dateien"
Sheets("verwendete Dateien").Select
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Cells(2, 1) = "Datei 1:"
Cells(2, 1).Font.Bold = True
Cells(5, 1) = "Datei 2:"
Cells(5, 1).Font.Bold = True
Cells(8, 1) = "fehlende Daten:"
Cells(8, 1).Font.Bold = True
Cells(8, 1).WrapText = True
Cells(8, 1).VerticalAlignment = xlCenter
Cells(2, 2) = dat1
Cells(5, 2) = dat2
Cells(3, 2) = pfad1
Cells(6, 2) = pfad2
Cells(8, 2) = ergebnis & vbLf & wert
ingCounter = ThisWorkbook.Sheets.Count
ActiveSheet.Move before:=Sheets(ingCounter)
Sheets(ingCounter).Select
Range("A1").Select
Application.ScreenUpdating = True
If IsEmpty(ergebnis) Then
MsgBox "Folgende Daten fehlen: " & ergebnis
End If