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

Warum muss ich erst das Blatt aktivieren?

Warum muss ich erst das Blatt aktivieren?
09.09.2002 09:02:42
Marc
Hallo,

ich arbeite parallel mit zwei Arbeitsmappen: Eine mit Datenbanken und Code (wird Add-In) und eine für die gespeicherten Daten. Einige Methoden (z.B. Sortieren eines Bereiches, Rows.Count, Zelle selektieren) schlagen fehl, wenn das entsprechende Blatt vorher nicht aktiviert wird. Ich verwende aber immer vollständige Verweise (mit Arbeitsmappenangabe), deshalb müssten diese Aktionen doch auch ohne vorherige Selektion funktionieren?
Außerdem möchte ich das spätere Add-Inn nicht aktivieren.

Weiß jemand Rat?
Vielen Dank

Marc

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Warum muss ich erst das Blatt aktivieren?
09.09.2002 12:12:38
mathias r.
Auch mit vollständigem Verweis (Mappe.Blatt.Zelle) mußt du erst ggf. die Mappe ativieren, dann das Blatt auswählen bevor du eine Zelle selektieren kannst.
Da hilft nur die Select und Activate Methode zu umgehen (ist sowieso aus Performancegründen ratsam)
Re: Warum muss ich erst das Blatt aktivieren?
10.09.2002 02:27:29
Marc
Hi Mathias,

danke für deinen Beitrag. Er hat allerdings noch nicht die Lösung gebracht. Denn ich will weder die Select noch die Activate Methode verwenden, sondern ich will sortieren bzw. die Anweisung Rows.Count durchführen. Ich arbeite schon eine Weile an dem Programm. Und zunächst haben die Funktionen auch ohne vorherige Blattaktivierung funktioniert. Doch jetzt führt z.B.:

RecordNum = TheSheet.Range("A" & Rows.Count).End(xlUp).Row - 1

(wobei TheSheet eine Objektvariable für ein Tabellenblatt ist)

nur noch zum Ziel, wenn ich vorher:

TheSheet.Activate

einfüge. Wenn nicht, bekomme ich die Meldung, dass die Methode Rows.Count fehlgeschlagen sei. Ähnlich bei:

TempSheet.Range("A1:E" & x + 2).Sort

Funktioniert nur noch mit vorherigem:

TempSheet.Activate

Eigentlich müsste dass doch auch ohne Aktivierung funtionieren?
Ich bekomme hier Probleme mit meinem gesamten Programm, da ich ansonsten auf die Arbeitsmaape mit den gespeicherten Daten über ActiveWorkbook zugreife. Durch dieses notwendige aktivieren verändere ich die aktive Arbeitsmappe aber ja ständig. (Nicht gewünscht!). Irgendein Tip?

Vielen Dank

Marc

Anzeige
Re: Warum muss ich erst das Blatt aktivieren?
10.09.2002 11:14:41
mathias r.
Im Falle
RecordNum = TheSheet.Range("A" & Rows.Count).End(xlUp).Row - 1

muß du konsequent den Verweis voranstellen, auch bei Rows.Count:
RecordNum = TheSheet.Range("A" & TheSheet.Rows.Count).End(xlUp).Row - 1

bei Sort weiß ich momentan nicht ob es gehen sollte oder nicht.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige