Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Index außerhalb des gültigen Bereichs

Index außerhalb des gültigen Bereichs
10.12.2013 15:44:17
Howard

Hallo,
habe folgenden Code:
Sub KreuzeErzeugen_Feld1()
Dim a As Range
Dim Bereich As Range
Set Bereich = Worksheets("Tabelle5").Range("I25:O31")
Bereich.Borders(xlDiagonalUp).LineStyle = xlNone
Bereich.Borders(xlDiagonalDown).LineStyle = xlNone
For Each a In Bereich
Select Case a
Case Is = Range("Tabelle4!E5"), Range("Tabelle4!F5"), Range("Tabelle4!G5"), Range(" _
Tabelle4!H5"), _
Range("Tabelle4!I5"), Range("Tabelle4!J5")
With a.Borders(xlDiagonalDown)
.Weight = xlMedium
End With
With a.Borders(xlDiagonalUp)
.Weight = xlMedium
End With
End Select
Next
End Sub
Der Code erzeugt in Tabelle5 Im Bereich I25:O31 Kreuze und benötigt dafür Zahlen, die in Tabelle4 stehen in den Feldern E5 bis J5.
Nun habe ich diesen Code, der in meiner Testmappe steht, umgeändert und wollte
ihn in meine Projektmappe einfügen:

Sub KreuzeErzeugen_Feld1()
Dim a As Range
Dim Bereich As Range
Set Bereich = Worksheets("Tabelle8").Range("B7:H13")
Bereich.Borders(xlDiagonalUp).LineStyle = xlNone
Bereich.Borders(xlDiagonalDown).LineStyle = xlNone
For Each a In Bereich
Select Case a
Case Is = Range("Tabelle4!E30"), Range("Tabelle4!F30"), Range("Tabelle4!G30"), Range(" _
Tabelle4!30"), _
Range("Tabelle4!I30"), Range("Tabelle4!J30")
With a.Borders(xlDiagonalDown)
.Weight = xlMedium
End With
With a.Borders(xlDiagonalUp)
.Weight = xlMedium
End With
End Select
Next
End Sub

Hier werden die Daten in Tabelle4 in den Feldern E30 bis J30 benötigt und die
Kreuze sollen in Tabelle8 im Bereich B7 bis H13 erscheinen.
Jetzt kommt die Fehlermeldung "Index liegt außerhalb des gültigen Bereiches"; gelb
markiert ist im Debugger Set Bereich = .....
Wieso klappt es in der Testmappe und nicht in der Projektmappe? In beiden Fällen
stehen die benötigten Daten doch auf einem anderen Tabellenbaltt als dem, in dem
die Kreuze erscheinen sollen.

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: schreibfehler?
10.12.2013 15:57:52
hary
Moin
Code nur durchgelesen.
Range("Tabelle4!30")
Da fehlt doch der Spaltenbuchstabe.
gruss hary

AW: schreibfehler?
10.12.2013 19:36:05
Howard
Hi,
hab den Schreibfehler korrigiert. Danach ging es aber immer noch nicht. Als ich dann
tabelle4 und tabelle8 durch die Namen, die ich den Tabellenblättern gegeben habe, ersetzt habe,
funktioniert es. Warum weiß ich, ehrlich gesagt, nicht, aber Hauptsache es haut hin.
Gruß
Howard

Anzeige
AW: Sheets ansprechen
11.12.2013 06:54:13
hary
Moin Howard
Hier hast Du mal drei Moeglichkeiten Blaetter anzusprechen
Mit
Worksheets("Tabelle1").Range("A1")
nimmst du den Blattnamen der im Tabellenreiter steht. Nachteil: wenn du die Tabelle umbenennst laeuft es so auf einen Fehler, da es das Blatt mit dem Namen Tabelle1 nicht mehr gibt.
mit
Tabelle1.Range("A1")
Nimmst du den Codenamen des Tabellenblattes, Vorteil: wenn du das Blatt umbenennst oder verschiebst wird das Blatt trotzdem gefunden. Den Codenamen kannst du in der Eigenschaft aendern.
Oder mit Index
Worksheets(1).Range("A1")
Spricht immer das erste Blatt in der Reihenfolge(Index) der Blaetter an. Entsprechend Worksheets(2) das zweite usw.. Aber zu beachten das die Zahl nicht hoeher ist wie die Anzahl der Blaetter. Wird meist fuer Schleifen verwendet.
Gruss hary
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige