Range(Cells, Cells).Copy tut nicht...

Bild

Betrifft: Range(Cells, Cells).Copy tut nicht...
von: Janine
Geschrieben am: 07.11.2003 12:33:31


Hallo Forumsteilnehmer,

ich bin in einer Schleife und benötige die erste Aktion:
(1) WB.Worksheets("Dokumentationsplanung").Range(Cells(a, 78), Cells(a, 83)).Copy

sie funktioniert aber leider nicht: "Anwendungs- oder Objektdefinierter Fehler".
Ich dachte es liegt an meiner Range()-Anweisung und habe einfach zum Testen mal feste Werte eingegeben, so:

(2) WB.Worksheets("Dokumentationsplanung").Range("BZ3:CE3").Copy

und das funktioniert.
Da a = 3 in erster Zeile und BZ = Spalte78 und CE = Spalte83 handelt es sich eindeutig um das gleiche Range?! Warum ist (2) ok und (1) nicht???

Kann mir jemand hierbei helfen?

Danke für alle Hinweise, Janine

Bild


Betrifft: AW: Range(Cells, Cells).Copy tut nicht...
von: ChrisL
Geschrieben am: 07.11.2003 12:37:44

Hi Janine

Vermutlich so...

With WB.Worksheets("Dokumentationsplanung")
.Range(.Cells(a, 78), .Cells(a, 83)).Copy
End With

Gruss
Chris


Bild


Betrifft: AW: Range(Cells, Cells).Copy tut nicht...
von: Janine
Geschrieben am: 07.11.2003 12:38:52




Bild


Betrifft: AW: Range(Cells, Cells).Copy tut nicht...
von: Michael Brueggemann
Geschrieben am: 07.11.2003 12:38:17

Hallo Janine,

WB.Worksheets("Dokumentationsplanung").Range(Cells(78, 1), Cells(83, 1)).Copy

behebt den Fehler. Bei "Cells(n, m)" sind nur Zeilennummer (n) und Spaltennummer (m) als Parameter zulaessig.


CIAO
Michael


Bild


Betrifft: AW: Range(Cells, Cells).Copy tut nicht...
von: galenzo
Geschrieben am: 07.11.2003 12:38:20

Klar geht das. Sollte es :-)
Hab's eben selber getestet, allerdings ohne dein "WB." vorneweg
Worksheets("Dokumentationsplanung").Range(Cells(a, 78), Cells(a, 83)).Copy
Liegt meiner Meinung nach an deiner Variablen a.
(Falsch deklariert?)

mfg


Bild


Betrifft: AW: Range(Cells, Cells).Copy tut nicht...
von: Nike
Geschrieben am: 07.11.2003 12:39:28

Hi,
du mußt den Cells auch sagen, welches Bladl du da meinst...
also entweder so:

with WB.Worksheets("Dokumentationsplanung")
.Range(.Cells(a, 78), .Cells(a, 83)).Copy
end with

oder

dim wks as worksheet
set wks = WB.Worksheets("Dokumentationsplanung")
wks.Range(wks.Cells(a, 78), wks.Cells(a, 83)).Copy

Bye

Nike


Bild


Betrifft: AW: Range(Cells, Cells).Copy tut nicht...
von: Nayus
Geschrieben am: 07.11.2003 12:41:07

Hallo,
hier des Rätsels Lösung:
Cells(a, 78) gibt Dir den Wert in der Zelle und nicht die Adresse zurück.
Cells(a, 78).Address gibt Dir die Adresse der Zelle als Range-Objekt zurück und das ist, was Du brauchst.

Viel Erfolg,
Nayus


Bild

Beiträge aus den Excel-Beispielen zum Thema " Spaltenbezeichnung umbenennen"