Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1340to1344
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 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.

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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige