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)
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":
--
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
versuchs mal auf diese Art:
With Worksheets("Puffer")
.Range(.Cells(1, 1), .Cells(PufferZeile - 1, 11)).Copy
End With
mfg
Konrad Hauke
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.
>
>
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
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!
läuft leider auch nicht... (derselbe Fehler)
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...