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

Worksheet.Range.Select --> Fehler 1004

Worksheet.Range.Select --> Fehler 1004
21.03.2007 13:01:58
MarkusP123
Hi!
Ich habe mit folgendem Codestück ein Problem, dass ich einfach nicht gelöst bekomme und zwar schon zig Varianten probiert habe, aber keine davon gepasst hat.
Der Code soll einfach in der gleichen Arbeitsmappe aber auf einem anderen Arbeitsblatt eine Zelle auswählen.
Was passt an folgendem Code nicht? (dieser steht in Tabelle 2)

Private Sub Worksheet_Calculate()
Worksheets("Tabelle 1").Cells(3, 5).Select
SendKeys ("^%{F9}")
End Sub
Ich bekomme immer die Fehlermeldung 1004: Select-Methode ds Range-Objekts konnte nicht ausgeführt werden.
Oder gibt es eine ganz andere Möglichkeit das Arbeitsblatt vollständig neu berechnen zu lassen?
Vielen Dank für eure Hilfe!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet.Range.Select --> Fehler 1004
21.03.2007 13:04:00
Hans
Hallo Markus,
bevor Du die Zelle auswählst, musst Du in das Blatt:
Worksheets("Tabelle1").Select
Oder verwende die Application.GoTo-Methode.
Gruss hans
Danke!
21.03.2007 13:07:53
MarkusP123
Schau einer an, das funktioniert perfekt!
Diese Website erleichtert das Arbeiten echt enorm! Vielen Dank!
AW: Worksheet.Range.Select --> Fehler 1004
21.03.2007 13:05:37
Hoffi
Hallo,
heißt Deine Tabelle wirklich Tabelle 1? oder vielleicht Tabelle1 (ohne Leerzeichen)?
hier kann das Leerzeichen zu Problemen führen.
Alternativ kannst Du auch Sheets(1) benutzen (1) steht für den Index der Tabelle.
Grüße
Hoffi
Nachtrage: Funktioniert immer noch nicht
21.03.2007 13:46:48
MarkusP123
Hallo zusammen,
leider funktioniert es immer noch nicht. Wenn ich das jetzt im eigentlichen Projekt versuche habe ich folgendes Problem, ich weiß zwar woran es jetzt liegt aber ich kann es nicht lösen:
Es sind zwei VBA-Projekte, nenen wir sie A und B. In A steht ein Verweis auf B (davor war es umgekehrt (habs umgestellt weil ich dachte das könnte vielleicht helfen))
Momentan arbeite ich in A.
Folgender Code funktioniert dort gar nicht:

Worksheets("Summary").Select
Worksheets("Summary").Cells(1, 1).Select
Ich hab auch herausgefunden warum:
Wenn ich schreibe:
MsgBox worksheets(1).Name
und dann worksheets(2) und so weiter
erhalte die Namen aller Arbeitsblätter von Projekte B, aber auf die Arbeitsblätter von Projekt A kann ich nicht zugreifen.
Weiß jemand, wie ich das machen kann?
Ich hoffe meine Beschreibung ist einigermaßen verständlich...
Anzeige
Nachtrage: Funktioniert immer noch nicht
21.03.2007 13:47:17
MarkusP123
Hallo zusammen,
leider funktioniert es immer noch nicht. Wenn ich das jetzt im eigentlichen Projekt versuche habe ich folgendes Problem, ich weiß zwar woran es jetzt liegt aber ich kann es nicht lösen:
Es sind zwei VBA-Projekte, nenen wir sie A und B. In A steht ein Verweis auf B (davor war es umgekehrt (habs umgestellt weil ich dachte das könnte vielleicht helfen))
Momentan arbeite ich in A.
Folgender Code funktioniert dort gar nicht:

Worksheets("Summary").Select
Worksheets("Summary").Cells(1, 1).Select
Ich hab auch herausgefunden warum:
Wenn ich schreibe:
MsgBox worksheets(1).Name
und dann worksheets(2) und so weiter
erhalte die Namen aller Arbeitsblätter von Projekte B, aber auf die Arbeitsblätter von Projekt A kann ich nicht zugreifen.
Weiß jemand, wie ich das machen kann?
Ich hoffe meine Beschreibung ist einigermaßen verständlich...
Anzeige
AW: Nachtrage: Funktioniert immer noch nicht
21.03.2007 13:55:00
Hans
Hallo Markus,
eine saubere Referenzierung ist das A und O.
Wenn Du in verschiedenen Arbeitsmappen arbeitest, musst Du das schön auseinanderhalten. Beispiel für eine saubere Referenzierung:
Dim wksA as Worksheet, wksB as Worksheet
Set wksA = Workbooks("Test1.xls").Worksheets("Eingang")
Set wksB = Workbooks("Test2.xls").Worksheets("Ausgang")
wksA.Range("A1:F10").Copy wksB.Range("F12")
Das Wechseln von Arbeitsmappe zu Arbeitsmappe bzw. von Blatt zu Blatt solltest Du Dir ersparen. Wenn es denn unumgänlich ist - was eigentlich so gut wie nie vorkommt - musst Du vor dem Blattselektieren die Arbeitsmappe aktivieren:
Workbooks("Test1.xls").Activate
Worksheets("Eingang").Select
Range("A1").Select
oder eben Application.GoTo verwenden.
Gruss hans
Anzeige

22 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige