Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zugriff auf nicht aktives Sheet funzt nicht

Zugriff auf nicht aktives Sheet funzt nicht
19.02.2007 13:19:35
Jan
Hallo wertes Forum!
Ich wollte mein altes, ellenlanges Makro von allen "select" befreien und stosse dabei auf ein Problem.
Der Zugriff auf einen Bereich eines nicht aktiven Sheet ("Storico_CC") funktioniert leider nicht fuer den Befehl .Copy oder auch .ClearContents.
Makroauszug (Bug tritt in letzter Zeile auf):
Range(Range("G65536").End(xlUp).Offset(1, -6), Range("C3005").End(xlUp).Offset(0, 5)).Copy
Sheets("Storico_CC").Range("X1").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False 'Wert einfuegen
Application.CutCopyMode = False
Range("A10:G3000").ClearContents
Sheets("Storico_CC").Range("X1:AD" & Range("Z3005").End(xlUp).Row).Copy 'hier kommt der bug
' alternativ habe ich ausprobiert, funzt auch nicht :
Sheets("Storico_CC").Range("X1", Range("Z3005").End(xlUp).Offset(0, 4)).Copy
'und so sah das Makro urspruenglich aus und so hat's auch gefunzt:
Sheets("Storico_CC").Select
Range("X1").Select
Range(Selection,Range("Z3005").End(xlUp).Offset(0, 4)).Copy
Warum kann ich diese umstaendliche Selektiererei nicht in die weiter o.g. Zeilen umwandeln, wo liegt dort der Fehrler?
Vielen Dank fuer euer Interesse und Muehen!
Gruss,
Jan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zugriff auf nicht aktives Sheet funzt nicht
19.02.2007 13:46:47
ronny
hallo jan,
auf den ersten blick würde ich sagen, dass du in der zeile, in der der "bug" kommt einen syntaxfehler hast.
du kannst das range-objekt nicht so ohne weiteres mit vaiablen bestücken.
besser du arbeitest hier mit CELLS.
gruß ronny
AW: Zugriff auf nicht aktives Sheet funzt nicht
19.02.2007 13:58:00
ronny
hallo jan,
so vielleicht:
Sheets("Storico_CC").Range(Cells(1, 24), Cells((Cells(Rows.Count, 26).End(xlUp).Row), 30)).Copy
gruß ronny
AW: Zugriff auf nicht aktives Sheet funzt nicht
19.02.2007 14:55:00
Jan
Hallo ronny,
vielen Dank fuer deinen Tip! Leider konnte ich ihn nicht umsetzen.
Du meinst unter Verwendung von Cells brauche ich nicht jedes mal Sheets(...) zu schreiben und auch keine Schleife verwenden? Wenn das echt ginge, faend ich das natuerlich auch spitzenmaessig.
Brauche ich den Befehl End(xlUp) denn noch, wenn Cells(Rows.Count, 26) die erforderliche Zeile ermittelt?
Gruss,
Jan
Anzeige
ich schliess dann mal...:-) Danke!
19.02.2007 15:52:28
Jan
.
aber jetzt.
19.02.2007 15:53:00
Jan
.
AW: Zugriff auf nicht aktives Sheet funzt nicht
19.02.2007 14:02:35
IngGi
Hallo Jan,
deine Alternativmethode funktioniert schon fast. Allerdings musst du das Sheet vor jedem Range angeben. Um das abzukürzen, gibt es die Möglichkeit, mit einem With...End With-Block zu arbeiten. Außerdem fehlt in deiner Zeile noch ein Range um das X1 herum:
With Sheets("Storico_CC")
.Range(.Range("X1"), .Range("Z3005").End(xlUp).Offset(0, 4)).Copy
End With
Gruß Ingolf
AW: Zugriff auf nicht aktives Sheet funzt nicht
19.02.2007 14:48:00
Jan
Hallo Ingolf,
vielen Dank fuer deine Tips. Sowohl mit
Range(Sheets("Storico_CC").Range("X1"), Sheets("Storico_CC").Range("Z3005").End(xlUp).Offset(0, 4)).Copy
als auch mit
With Sheets("Storico_CC")
.Range(.Range("X1"), .Range("Z3005").End(xlUp).Offset(0, 4)).Copy
End With
laeuft es jetzt einwandfrei. Wobei mir die 1.Variante eher zusagt, da kuerzer wenn auch weniger elegant. Da aber sonst keine weiteren Befehle in "Storico_CC" erfolgen, soll das reichen.
Gruss und vielen Dank,
Jan
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige