Mit dem folgenden Makro durchsuche ich eine Arbeitsmappe nach bestimmten Tabellenblättern und drucke diese aus. Am Ende wird die Anzahl der gedruckten Blätter angezeigt.
Nun mein Problem: Ich möchte alle die Nummern, die nicht gefunden wurden, mit in der MsgBox ausgeben. Ich habe es schon mit einem Array versucht, doch wie kann ich diese Werte dann in der MsgBox ausgeben?
Hat jemand eine bessere Idee?
Private Sub FindSheets()
Dim ArtNr
Dim MySheet
Dim Max As Integer, Gedruckt As Integer
Gedruckt = 0
Sheets("0000-START").Select
For Max = 1 To 100
If Cells(Max, 1).Value = "" Then Exit For
Next
For x = 2 To Max - 1
ArtNr = Worksheets("0000-START").Cells(x, 1)
If ArtNr = "" Then Exit Sub
For Each MySheet In ActiveWorkbook.Worksheets
If InStr(MySheet.Name, ArtNr) Then
Sheets(MySheet.Name).Select
Worksheets(MySheet.Name).PrintOut Copies:=1, Collate:=True
Gedruckt = Gedruckt + 1
Exit For
Else
'nichts
End If
Next
' Hier die werte ins Array eintragen!?!
Next
MsgTmp = MsgBox(" Artikel insgesamt: " & Max - 2 & Chr(13) _
& " davon gedruckt: " & Gedruckt & Chr(13) _
& " Unbekannte Artikel: " & (Max - 2) - Gedruckt, vbInformation + vbOKOnly, "Info")
' hier sollen außerdem die fehlenden Nummern angezeigt werden
End Sub
Meine Zweite Frage:
Ist es möglich, ein UserForm an eine Tabelle zubinden, sodass beim kopieren der Tabelle in eine andere Arbeitsmappe auch das Formular mit kopiert wird?
danke im voraus
Timo