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

VBA: Problem beim Auswählen eines var. Bereiches

62 views
Skip to first unread message

Andreas Otte

unread,
Mar 31, 1998, 3:00:00 AM3/31/98
to

Howdy Excel-Profis,

in einem VBA-Makro versuche ich mittels unten stehendem Code einen
bestimmten Bereich aus einem Tabellenblatt in ein anderes zu kopieren.


In der vorletzten Zeile bekomme ich die Fehlermeldung

Laufzeitfehler '1004':
Anwendungs- oder objektdefinierter Fehler

Wer erkennt den Fehler und kann mir auf die Sprünge helfen? Ich habe
schon weitere Varianten ausprobiert.

--
Gruß
Andreas Otte
E-Mail: ot...@snafu.de

Makro:

Private Sub Aktualisieren_Click()
...
Sheets("Bestellobligo (Rohfassung)").Select
Do While IsError(Sheets("Bestellobligo (Rohfassung)").
Cells(1 + Zeile, 1)) = False
Zeile = Zeile + 1
Loop
Sheets("Bestellobligo (Rohfassung)").Range(Cells(2, 1),
Cells(Zeile - 1, 26)).Select
Selection.Copy
...
End Sub

Bernd Held

unread,
Apr 1, 1998, 3:00:00 AM4/1/98
to ot...@berlin.snafu.de

Hallo Andreas,
könnte sein, daß Dein MAkro das Zieltabellenblatt nicht findet. Der 1004
Fehler deutet meiner Meinung nach druf hin, daß Excel irgendein Element
(Blatt, Mappe, Objeckt) nicht finden kann.
Versuch mal das Zielblatt zum Test einfach zu benennen. Die Blanks
zwischen dem zusammengestzten Namen könnten Probleme machen.
Viele Grüße
Bernd Held
http://members.aol.com/Machero

Andreas Otte schrieb:

Andreas Otte

unread,
Apr 3, 1998, 3:00:00 AM4/3/98
to

Hallo Bernd,

vielen Dank für Deine Antwort.

Ich habe es natürlich sofort ausprobiert, der Name ist ohne Leer- und
Sonderzeichen und in Anlehnung an alte Dos-Konventionen bestand dieser
aus nicht mehr als 8 Zeichen.

Ich bekomme aber noch die gleiche Fehlermeldung. Ich vermute den
Fehler bei der Range-Methode (in Verbindug mit der Cells-Methode).

Hast Du noch'n Tip??????

--
Gruß
Andreas Otte
E-Mail: ot...@snafu.de


On Wed, 01 Apr 1998 11:55:00 +0200, Bernd Held <Bh...@debis.com>
wrote:

Martin Beck

unread,
Apr 4, 1998, 3:00:00 AM4/4/98
to

Andreas Otte schrieb in Nachricht <6fqe0v$l1$1...@news02.btx.dtag.de>...


>Howdy Excel-Profis,
>
>in einem VBA-Makro versuche ich mittels unten stehendem Code einen
>bestimmten Bereich aus einem Tabellenblatt in ein anderes zu kopieren.
>
>
>In der vorletzten Zeile bekomme ich die Fehlermeldung
>
> Laufzeitfehler '1004':
> Anwendungs- oder objektdefinierter Fehler
>
>Wer erkennt den Fehler und kann mir auf die Sprünge helfen? Ich habe
>schon weitere Varianten ausprobiert.
>
>--
>Gruß
>Andreas Otte
>E-Mail: ot...@snafu.de
>

>Makro:
>
>Private Sub Aktualisieren_Click()
> ...
> Sheets("Bestellobligo (Rohfassung)").Select
> Do While IsError(Sheets("Bestellobligo (Rohfassung)").
> Cells(1 + Zeile, 1)) = False
> Zeile = Zeile + 1
> Loop
> Sheets("Bestellobligo (Rohfassung)").Range(Cells(2, 1),
> Cells(Zeile - 1, 26)).Select
> Selection.Copy
> ...
>End Sub

Hallo Andreas,

versuche einmal, an Stelle der Zeile

Sheets("Bestellobligo (Rohfassung)").Range(Cells(2, 1),Cells(Zeile - 1,
26)).Select

die Zeile


Sheets("Bestellobligo (Rohfassung)").Range(Sheets("Bestellobligo
(Rohfassung)").Cells(2, 1), Sheets("Bestellobligo
(Rohfassung)").Cells(Zeile - 1, 26)).Select

d.h. vor den beiden Cells Ausdrücken noch einmal den Sheets Ausdruck
wiederholen.

Bei mir (EXCEL 95) hat's geklappt. Ach ja, die Variable Zeile muß einen Wert
größer 2 aufweisen.

Gruß
Martin Beck

Otte

unread,
Apr 5, 1998, 4:00:00 AM4/5/98
to

Hi,

Danke für Eure Hilfe.

Die Lösung wurde an meine private Mail-Adresse gesandt.

Die Anweisung die den Fehler verursacht muß lauten:

Sheets("Tab1").Range(Sheets("Tab1").Cells(2, 1),
Sheets("Tab1").Cells(Zeile - 1, 26)).Select

Danke nochmal an alle. Ihr habt mir sehr geholfen.

Bis dann

Andreas Otte
e-mail: ot...@snafu.de


H+E Eschner

unread,
Apr 5, 1998, 4:00:00 AM4/5/98
to

Hi Andreas,

>Danke für Eure Hilfe.
>Die Lösung wurde an meine private Mail-Adresse gesandt.

Danke Dir, daß Du trotzdem uns allen die Lösung zukomen lassen willst!

>Die Anweisung die den Fehler verursacht ...
hier nochmal zur Erinnerung:

Sheets("Bestellobligo (Rohfassung)").Select
...


Sheets("Bestellobligo (Rohfassung)").Range(Cells(2, 1),
Cells(Zeile - 1, 26)).Select

Fehlermeldung:
Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler

> ... muß lauten:


>Sheets("Tab1").Range(Sheets("Tab1").Cells(2, 1),
>Sheets("Tab1").Cells(Zeile - 1, 26)).Select

Das kam mir denn doch recht ungewohnt vor, und ich hab's nochmal
nachvollzogen:

Deine Originalfassung (gleicher Blattnahme, Sub aus anderem Blatt
durch nicht-private Sub aufgerufen) hat die von Dir zitierte
Fehlermeldung unter XL'97 NUR DANN gebracht, wenn 'Zeile-1' < 1 war,
d.h. bereits in der ersten oder 2. Zeile ein Fehlerwert stand.

Unter XL7 dasselbe, jedoch kam zum Fehler 1004 die Erläuterung:
Die Cells-Methode des Aplication-Objects ist fehlerhaft.

Ich fürchte daher, daß mit der neuen Fassung das ursprüngliche Problem
noch nicht gelöst ist :-(
Wähle doch bei Auftreten des Fehlers die Schaltfläche 'Testen' und
schaue, wie groß der Wert 'Zeile' im Moment ist.

>Danke nochmal an alle. Ihr habt mir sehr geholfen.

Ich hoffe, ich hab' Dich jetzt nicht verwirrt...

cu, hanfred

H+E Eschner

unread,
Apr 15, 1998, 3:00:00 AM4/15/98
to

Hi Andreas,
...
>Dieser Fehler tritt nachwievor auf (Zeile = 126), cih glaube der
>Fehlertext bezieht sich direkt auf die Range-Methode wenn Zeile <= 2.
sorry, verstehe ich nicht, ist 'Zeile' im Moment des Fehlerauftretens
nun 126 oder 2? Wenn's nix Geheimes ist, kannst Du mir ja die Mappe
emailen.

>habe ich leider zu wenig (oder gar keine) Erfahrung in
>Excel-Programmierung, vielmehr dachte ich mir für einen Freund mal
>eben ein Makro zu programmieren sollte eigentlich kein Problem
>darstellen, in Cobol oder RPG eine Sache von 1 Stunde.
ich (Ingenieur) kenne Cobol oder RPG nicht, aber hab ALGOL studiert
und professionell zig Jahre FORTRAN angewendet. War aber nicht so
schwer wie VBA, hab' mich mit der objektorientierten Programmierung
und der Suche nach einer klaren Sprachdokumentation ziemlich schwer
getan...

>BTW, kennst Du ein gutes Buch für Excel-Programmierung, speziell mit
>einer Übersicht aller Objekte und Methoden.
ich zitiere hier mal Hans Herber, wie er mich zitiert ;-)

------------------------schnipp0-------------
das folgende schrieb Hanfred Eschner vor einigen Tagen zu diesem Thema
(kann ich nur unterstreichen):

--------------------schnipp-----------
auf die Schnelle das für den privaten Bereich kostenlose VBA-Script
von Josef Broukal: http://www.joanneum.ac.at/services/vbaexcel
140 Seiten sind wenig für das Thema, aber sehr viel hinsichtlich der
kostenlosen Veröffentlichung, und manche Autoren brauchen für den
gleichen Inhalt erheblich mehr Seiten.

Das Buch von Eric Wells hat auch schon jemand genannt ('Lösungen
entwickeln mit Excel 95', glaub ich). Besonders gut finde ich hier die
Darstellung von Datenbank-Abfragen.

Mein Senf hierzu, weil Du schriebst, daß Du XL5 bzw. XL7 benutzt:
Ich geh' mal davon aus, daß Du dich gleich in's englische VBA
vertiefen willst (denn nur dieses wird ab XL8 nur noch unterstützt).
Dann hast Du bei XL5 das Problem, daß Du zwar auch in englisch
programmieren kannst, aber die Online-Hilfe Dir nur die deutschen
Schlüsselworte nennt :-(

Und jetzt das eigentliche: von Michael Kofler gibt es zu
XL5: Anwendungsprogrammierung mit Excel 5.0 (deutsches VBA)
XL7: VBA-Programmierung mit Excel 7 (englisches VBA)
XL8: VBA-Programmierung mit Excel 97 (englisches VBA)
alle im Verlag Addison-Wesley, ca. 80 DM
sieh' also zu, daß Du das richtige kaufst/bestellst (vermutlich XL7).
Besonders gut finde ich hier die übersichtliche Gliederung in einzelne
Themenbereiche. Hier fand ich den lange gesuchten 'Blick in die
geöffnete Wewrkzeugkiste'!
-------------------schnapp-------------

--
****************************************************
* Herber's Excel-Server - letztes Update: 15.01.98 *
* http://www.herber.de - Mail: her...@herber.de *
* Microsoft MVP - Excel *
* Alle Demos jetzt im XLS- und ZIP-Format *
****************************************************
-----------------schnapp0---------------------

ich nehme mal an, daß Hans (der Guru hier) seine Meinung
zwischenzeitlich nicht geändert hat.
Ob sich der Aufwand für Dich lohnt mußt Du selber entscheiden. Für
mich war es die Chance, weiterhin 'nebenbei' programmieren zu können
(mit Excel als 'Frontend' für Ein- und Ausgabe und Grafik) ohne
unvertretbar großen Aufwand in die Windows-Programmierung stecken zu
müssen. Bin positiv überrascht von den Möglichkeiten.

cu, hanfred


Andreas Otte

unread,
Apr 15, 1998, 3:00:00 AM4/15/98
to

Hi Leute,

ich hatte in den ltz. Tagen leider keine Zeit.

Aber nochmal ein paar Worte dazu:

On 5 Apr 1998 22:53:28 GMT, Esc...@t-online.de (H+E Eschner) wrote:

>Hi Andreas,
>
>>Danke für Eure Hilfe.
>>Die Lösung wurde an meine private Mail-Adresse gesandt.
>Danke Dir, daß Du trotzdem uns allen die Lösung zukomen lassen willst!

Gern geschehen;-)

>>Die Anweisung die den Fehler verursacht ...
>hier nochmal zur Erinnerung:
>
> Sheets("Bestellobligo (Rohfassung)").Select
> ...
> Sheets("Bestellobligo (Rohfassung)").Range(Cells(2, 1),
> Cells(Zeile - 1, 26)).Select
>Fehlermeldung:
>Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler
>

Dieser Fehler tritt nachwievor auf (Zeile = 126), cih glaube der


Fehlertext bezieht sich direkt auf die Range-Methode wenn Zeile <= 2.

...
schnipp schnapp
...

>Ich hoffe, ich hab' Dich jetzt nicht verwirrt...

Keine Bange ;-), um hier jetzt eine genaue Antwort geben zu können,


habe ich leider zu wenig (oder gar keine) Erfahrung in
Excel-Programmierung, vielmehr dachte ich mir für einen Freund mal
eben ein Makro zu programmieren sollte eigentlich kein Problem
darstellen, in Cobol oder RPG eine Sache von 1 Stunde.

BTW, kennst Du ein gutes Buch für Excel-Programmierung, speziell mit


einer Übersicht aller Objekte und Methoden.

>
>cu, hanfred

0 new messages