Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
436to440
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
436to440
436to440
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Index ausserhalb des gültigen Bereichs

Index ausserhalb des gültigen Bereichs
02.06.2004 10:58:05
Holger
Hallo !
Ich als absoluter Anfänger habe eine Frage.
Habe mir ein Makro geschrieben, wo das aktuelle und die nächsten drei Worksheets als HTML rausgegeben werden. Soweit so klar.
Wenn man auf dem ersten Worksheet steht, wird dieses und die naächsten zwei Worksheets als HTML rausgegeben.
Wenn man jetzt aber am Ende der Worksheets steht, und des keine zwei weiteren Worksheets noch gibt, dann kommt diese Fehlermeldung mit Index ausserhalb des gültigen Bereichs.
Wie kriegt man es hin, das Excel dann nur die vorhandenen Worksheets als HTML dann rausgibt.
Danke
Holger
Hier das Makro:

Sub HTML_speichern()
Dim strXLS As String
Dim Path1 As String, Path2 As String
Dim Dat1 As String, Dat2 As String
Dim i, ix As Integer
Path2 = "c:\test\home\"
Path3 = "e:\super\"
Dat2 = "Today"
Application.ScreenUpdating = False
strXLS = ActiveWorkbook.Name
ix = ActiveSheet.Index
For i = ix To ix + 2
Sheets(i).Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=Path2 & Dat2 & i - ix, _
FileFormat:=xlHtml
ActiveWorkbook.SaveAs Filename:=Path3 & Dat2 & i - ix, _
FileFormat:=xlHtml
ActiveWorkbook.Close
Next i
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Index ausserhalb des gültigen Bereichs
Oberschlumpf
Hi Holger
Verwende doch anstelle von

For i = ix To ix + 2

die Schleife so:

For i = ix to Sheets.Count

Sheets.Count beinhaltet die Anzahl aller vorhandenen Tabellenblätter in der aktuellen Arbeitsmappe.
So werden, beginnend mit DEM Tabellenblatt, welches seinen Index an ix übergibt, alle nachfolgenden Tabellenblätter in HTML konvertiert.
Konnte ich helfen?
Ciao
Thorsten

AW: Index ausserhalb des gültigen Bereichs
02.06.2004 11:11:00
Holger
Hallo Thorsten,
im Prinzip schon, aber jetzt werden ja alle Worksheets rausgegeben. Es sollen aber nur das aktuelle und die nächsten Drei rausgegeben werden.
Wie würde das dann gehen ?
Anzeige
AW: Index ausserhalb des gültigen Bereichs
Oberschlumpf
Hi Holger
Dann versuche es mal so:

iy = ix
If iy + 2 > Sheets.Count then iy = Sheets.Count - 2
For i = ix To iy + 2
Dein Code
Next

Mit diesem Lösungsansatz wird zuerst der Wert aus ix an iy übergeben.
Dann wird geprüft, ob der Wert in iy + 2 größer ist, als die Anzahl der vorhandenen Blätter.
Wenn dem so ist, dann wird iy der Wert aus Sheets.Count - 2 übergeben, damit in der For-Zeile durch iy + 2 die Max-Anzahl verfügbarer Blätter nicht überschritten wird.
Konnte ich nun (besser) helfen? :-)
Ciao
Thorsten
AW: Index ausserhalb des gültigen Bereichs
02.06.2004 11:31:20
Holger
Tausend Dank, es funktioniert wunderbar....
Anzeige
na..freut mich doch:-)..thx for feedback..oT
Oberschlumpf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige