Könnte mir bitte jemand bei meinem großen Problem helfen?
Ich muß ein Tabellenblatt auswählen, wenn in der Zelle(9, 12) des jeweiligen
Blattes etwas drinnensteht.
Es handelt sich um 20 Blätter, wobei jedes Blatt nach und nach auszuwählen
ist, falls in der Zelle(9, 12) was steht. Die "Tabelle1" ist jedoch IMMER
auszuwählen, deshalb schreibe ich die "Tabelle1" bereits von vornherein in
die Variable "Selektiere", und füge alle restlichen, in Frage kommenden
Tabellen nach und nach der Variable hinzu.
Da ich jedoch nie weiß, welche Blätter das genau betrifft, baute ich
nachfolgenden Code (Anmerkung: Ich spreche Excel aus VB aus an):
Sub TabellenAuswahl
Dim xlWS As Worksheet
Dim x As Integer
Dim Selektiere As String
Set xlapp = Excel.Application
Set xlWB = xlapp.Workbooks(NameOfWorkbook)
Selektiere = "Tabelle1"
x = 1
Set xlWS = xlWB.Worksheets(x)
For Each xlWS In xlWB.Worksheets
If xlWB.Worksheets(x).Name <> "Wertetabellen" Then
If xlWB.Worksheets(x).Cells(9, 12) <> "" Then
' MsgBox (xlWB.Worksheets(x).Name & "Wurde verändert")
Selektiere = Selektiere & Chr(44) & Chr(32) & Chr(34) &
xlWB.Worksheets(x).Name & Chr(34)
End If
End If
x = x + 1
Next xlWS
Debug.Print Selektiere
xlapp.Visible = True
''''''''''''''''''''''''
' folgender Befehl endet mit einem Laufzeitfehler (9)
' "Index außerhalb des gültigen Bereichs:"
xlWB.Sheets(Array(Selektiere)).PrintPreview
''''''''''''''''''''''''
End Sub
Mit dem Befehl xlWB.Sheets(Array(Selektiere)).PrintPreview erhalte ich einen
Laufzeitfehler(9), 'Index außerhalb des gültigen Bereichs'
Hat jemand eine Ahnung, warum ein Laufzeitfehler auftritt, und wie ich ihn
verhindern könnte?
Vielen Dank und schönen Feiertag wünscht euch allen noch
Karl!