Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Index ausserhalb des gültigen Bereichs

Index ausserhalb des gültigen Bereichs
RainerK
Hallo,
bei folgendem Code funktioniert erhalte ich eine Fehlermeldung - Index ausserhalb des gültigen Bereichs:
Sub ws1()
Dim wb As String
wb = "Vergleich " & Tabelle1.Range("H21") & ".xls"
If Tabelle8.Range("I13") = True Then
Workbooks(ws).Worksheets("info").Range("D1") = True
Tabelle8.Range("P13") = Workbooks(ws).Worksheets("info").Range("S1")
Else
Workbooks(ws).Worksheets("info").Range("D1") = False
End If
End Sub
wb wäre Vergleich x.xls.
Das aktive Arbeitsblatt (Tabelle8) ist eine Druckübersicht.
Darin wollte ich anklicken, welche Seiten (einer externen Tabelle) in eine Druckroutine übernommen werden sollen.
Der Code sollte mir mit Click in ein Kontrollkästchen (Bezug auf I13) das Arbeitsblatt "Info" in der Tabelle "Vergleich X.xls ein WAHR in Zelle D1 schreiben und mir dann die Zelle S1 in das Aktive Arbeitsblatt Zelle P13 schreiben.
Kann mir jemand weiterhelfen?
Gruß RainerK

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Index ausserhalb des gültigen Bereichs
24.07.2010 17:23:50
BoskoBiati
Hallo,
ohne zu testen sind mir folgende Fehler aufgefallen:
1. Variablen nicht alle definiert
2. Wo wird wb gebraucht?
3. ws ist nicht als Workbook angelegt (set ws=...)
4. Was willst Du mit den Abfragen auf TRUE/False erreichen?
Gruß
Bosko
AW: Index ausserhalb des gültigen Bereichs
24.07.2010 17:32:16
RainerK
Hallo Bosko,
haben wohl zeitgleich geschrieben.
Um noch Deine letzte Frage zu beantworten:
Die Druckroutine druckt nur die ausgewählten Arbeitsblätter.
Die Auswahl habe ich dann über Zelle D1 des jeweiligen Arbeitsblattes mit folgendem Code:
Function AusgewählteBlätterDrucken()
Dim wks As Worksheet
Dim vntArray As Variant
ReDim vntArray(0)
For Each wks In ActiveWorkbook.Worksheets
If wks.Range("D1") = True Then
ReDim Preserve vntArray(1 To UBound(vntArray) + 1)
vntArray(UBound(vntArray)) = wks.Name
End If
Next
If UBound(vntArray) > 0 Then
Sheets(vntArray).Select
Application.Dialogs(xlDialogPrint).Show
End If
End Function
Gruß RainerK
Anzeige
AW: Index ausserhalb des gültigen Bereichs
24.07.2010 17:27:33
RainerK
Hab den Fehler.
Da ich erst den Fehler gemacht hatte, "Vergleich x" als Arbeitsblatt zu definieren hatte ich die Variable "ws" genommen. Bei Änderung auf "wb" hatte ich dann doch tatsächlich die restlichen "ws's" vergessen.
So klappt es nun auch.
Dim wb As String
wb = "Vergleich " & Tabelle1.Range("H21") & ".xls"
If Tabelle8.Range("I13") = True Then
Workbooks(wb).Worksheets("info").Range("D1") = True
Tabelle8.Range("P13") = Workbooks(wb).Worksheets("info").Range("S1")
Else
Workbooks(wb).Worksheets("info").Range("D1") = False
Tabelle8.Range("P13") = Workbooks(wb).Worksheets("info").Range("S1")
End If
End Sub
Schönen Abend noch
RainerK
Anzeige
AW: Index ausserhalb des gültigen Bereichs
24.07.2010 17:31:29
Daniel
Hi
schau dir doch mal deine Variablen an:
wb wird zugewiesen und ws wird verwendet.
das ws nicht zugewiesen wurde, ist das ein Leerstring und eine geöffnete Exceldatei mit dem Namen "" gibts nicht.
du solltest dir dringend angwöhnen mit OPTION EXPLICIT zu arbeiten.
http://www.online-excel.de/excel/singsel_vba.php?f=4
Gruß, Daniel
AW: Index ausserhalb des gültigen Bereichs
24.07.2010 17:39:35
RainerK
Hallo Daniel,
danke für Deinen Link. Werde ich künftig beherzigen.
Gruß
RainerK

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige