Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Laufzeitfehler 1004 bei RANGE

302 views
Skip to first unread message

Oliver Wilsky

unread,
Apr 14, 2000, 3:00:00 AM4/14/00
to
Hallo NG,

ich habe ein Problem mit Excel:

in folgender Zeile erhalte ich immer einen 'Laufzeitfehler 1004':
Anwendungs- oder objektdefinierter Fehler:

Worksheets("Puffer").Range(Cells(1, 1), Cells(PufferZeile - 1, 11)).Copy

Funktioniert das Range(cells(),cells())-Konstrukt nicht? In einem anderen
Makro läuft das so.

Wie kann ich es sonst machen? etwas wie RANGE("A1:M11") geht nicht, da nicht
von vornherein feststeht, wieviele Zeilen es sind.


--
Gruß,

Ollie

P.S: für direkte Antworten an meine E-Mailadresse bitte das "???" vor der
Adresse entfernen! (SPAM-Schutz)

Frank Arendt-Theilen

unread,
Apr 14, 2000, 3:00:00 AM4/14/00
to
Hallo Oliver,
grundsätzlich sollte deine Anweisung funktionieren, es sei denn
- das Tabellenblatt 'Puffer' ist zum Zeitpunkt es Aufrufs nicht das
aktive Blatt
- die Variable 'Pufferzeile' enthält zum Zeitpunkt es Aufrufs einen
ungültigen Wert
- u. a.

MfG Frank
_____________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
E-Mail: Thei...@t-online.de


Am Fri, 14 Apr 2000 16:32:51 +0200, schrieb "Oliver Wilsky"
<???owi...@gmx.de> in microsoft.public.de.excel zu "Laufzeitfehler
1004 bei RANGE":

Dr. Eckehard Pfeifer

unread,
Apr 14, 2000, 3:00:00 AM4/14/00
to
Hallo, teste doch mal den Wert PufferZeile.

--
Mit freundlichen Gruessen
Eckehard Pfeifer

(http://home.t-online.de/home/Dr.Eckehard.Pfeifer)

Das VBA-Magazin - ein Blick lohnt sich immer: www.vba-magazin.de


Konrad Hauke

unread,
Apr 16, 2000, 3:00:00 AM4/16/00
to
Hallo Oliver Wilsky!

versuchs mal auf diese Art:

With Worksheets("Puffer")
.Range(.Cells(1, 1), .Cells(PufferZeile - 1, 11)).Copy
End With

mfg
Konrad Hauke


Renzo Lazzarini

unread,
Apr 16, 2000, 3:00:00 AM4/16/00
to
Hallo Oliver

Es sind 2 Fälle zu Unterscheiden:

1. Fall - PufferZeile als Variable.
In diesem Fall wird die Variable mit 0 eröffnet. Da im ersten Ausdruck
Cells(1,1) als Startpunkt gewählt ist, ergibt sich nach Auflösung der
Variablen der Ausdruck
Range(Cells(1,1),Cells(-1,11)), dh. du erhälst einen negativen Bereich.
-------------*---------**--------------------------**************

2. Fall - PufferZeile als Name.
Falls du die Puffer Zeile als Name einsetzt, musst du den Ausdruck so
schreiben:

Worksheets("Puffer").Range(Cells(1, 1), Cells([PufferZeile] - 1, 11)).Copy

also mit eckigen Klammern.

Gruss Renzo

Oliver Wilsky <???owi...@gmx.de> schrieb in im Newsbeitrag:
#ORpa3hp$GA.280@cppssbbsa05...


> Hallo NG,
>
> ich habe ein Problem mit Excel:
>
> in folgender Zeile erhalte ich immer einen 'Laufzeitfehler 1004':
> Anwendungs- oder objektdefinierter Fehler:
>
> Worksheets("Puffer").Range(Cells(1, 1), Cells(PufferZeile - 1, 11)).Copy
>
> Funktioniert das Range(cells(),cells())-Konstrukt nicht? In einem anderen
> Makro läuft das so.
>
> Wie kann ich es sonst machen? etwas wie RANGE("A1:M11") geht nicht, da
nicht
> von vornherein feststeht, wieviele Zeilen es sind.
>
>

Ulli Tolksdorf

unread,
Apr 16, 2000, 3:00:00 AM4/16/00
to Oliver Wilsky
Hi! Kleiner später nachtrag;))

RANGE("A1:M11") kannst du deine aussage nach zwar nicht verwenden aber es würde
folgendes gehen:

Range("A1:M" & PufferZeile).copy

bye
Ulli.


Oliver Wilsky schrieb:

> Hallo NG,
>
> ich habe ein Problem mit Excel:
>
> in folgender Zeile erhalte ich immer einen 'Laufzeitfehler 1004':
> Anwendungs- oder objektdefinierter Fehler:
>
> Worksheets("Puffer").Range(Cells(1, 1), Cells(PufferZeile - 1, 11)).Copy
>
> Funktioniert das Range(cells(),cells())-Konstrukt nicht? In einem anderen
> Makro läuft das so.
>
> Wie kann ich es sonst machen? etwas wie RANGE("A1:M11") geht nicht, da nicht
> von vornherein feststeht, wieviele Zeilen es sind.
>
> --
> Gruß,
>
> Ollie
>
> P.S: für direkte Antworten an meine E-Mailadresse bitte das "???" vor der
> Adresse entfernen! (SPAM-Schutz)

--
Microsoft MVP für Excel

Oliver Wilsky

unread,
Apr 17, 2000, 3:00:00 AM4/17/00
to
"Dr. Eckehard Pfeifer" <Dr.Eckeha...@t-online.de> schrieb im
Newsbeitrag news:uPHiACkp$GA.242@cppssbbsa05...

> Hallo, teste doch mal den Wert PufferZeile.
>
Der Wert ist in Ordnung, d.h. der Ausdruck ist immer >=1.

Oliver Wilsky

unread,
Apr 17, 2000, 3:00:00 AM4/17/00
to

"Frank Arendt-Theilen" <Thei...@t-online.de> schrieb im Newsbeitrag
news:47fefs4sln7n6reib...@4ax.com...

> Hallo Oliver,
> grundsätzlich sollte deine Anweisung funktionieren, es sei denn
> - das Tabellenblatt 'Puffer' ist zum Zeitpunkt es Aufrufs nicht das
> aktive Blatt

Was heisst das? Das aktive Blatt ist es nicht, Ich habe eine Exceldatei mit
mehrern Blättern. Eines davon ist eben 'Puffer'. Es ist aber nicht das
aktuelle, es sollte aber trotzdem funktionieren, oder? Ich will eben in ein
anderes Blatt Werte reinschreiben, dann alles markieren und in die
Zwischenablage kopieren.

> - die Variable 'Pufferzeile' enthält zum Zeitpunkt es Aufrufs einen
> ungültigen Wert
> - u. a.

Pufferzeile bzw. der daraus errechnene Wert ist nie 0 oder kleiner!


Oliver Wilsky

unread,
Apr 17, 2000, 3:00:00 AM4/17/00
to
"Konrad Hauke" <hau...@primanet.de> schrieb im Newsbeitrag
news:usnBqPzp$GA.239@cppssbbsa05...

> Hallo Oliver Wilsky!
>
> versuchs mal auf diese Art:
>
> With Worksheets("Puffer")
> .Range(.Cells(1, 1), .Cells(PufferZeile - 1, 11)).Copy
> End With

läuft leider auch nicht... (derselbe Fehler)

Oliver Wilsky

unread,
Apr 17, 2000, 3:00:00 AM4/17/00
to
"Ulli Tolksdorf" <stud...@berg.net> schrieb im Newsbeitrag
news:38F9A7CC...@berg.net...

> Hi! Kleiner später nachtrag;))
>
> RANGE("A1:M11") kannst du deine aussage nach zwar nicht verwenden aber es
würde
> folgendes gehen:
>
> Range("A1:M" & PufferZeile).copy
>
> bye
> Ulli.


Vielen Dank Ulli! Alle anderen Tips haben leider nicht geholfen, Deiner
aber!!!

Entweder ich bin blöd oder auch nicht, aber ich als Delphi-Programmierer
habe größte Schwierigkeiten, in VBA zurechtzukommen. Vieles, was in Delphi
sehr gut geht, muß in VBA irgendwie getrickst werden...

So Delphi rulez... leider bin ich beruflich auf Excel (tolles Proggi!)
angewiesen, nur dieses VBA...

0 new messages