dim ws as worksheet set ws=ActiveSheet gibt mir "Typen unverträglich"

Ich würde gerne eine modelless form, die etwas tut, zum aktuellen Arbeitsblatt.
Funktioniert alles wunderbar, wenn ich es auf den Arbeitsblättern in der gleichen Arbeitsmappe, in dem das Formular definiert ist. (ActiveSheet stellt aktuelle Arbeitsblatt).

Das problem passiert, wenn ich versuche zu bilden, wenn es verschiedene aktive Arbeitsmappe, wenn ich auf eine form, die es unmittelbar aktiviert die Arbeitsmappe aus, in der es definiert wurde, und ActiveSheet funktioniert nicht mehr für mich. Es wirkt seltsam:

dim ws as worksheet
set ws=ActiveSheet

gibt mir "Typenkonflikt"

debug.print ActiveSheet.Name ' prints the name of the original worksheet
debug.print ActiveSheet.Parent.Name ' prints the name of the workbook where form is defined

Dies ist in Excel 2013.
Ich glaube, ich war in der Lage, es zu tun in den vorherigen Versionen. Diese Fähigkeit verloren gegangen?

Nach dieser, ActiveSheet gibt ein object. Sie müssen wahrscheinlich eine Besetzung.
versuchen Application.ActiveSheet
Verwenden Sie nicht ActiveSheet. Verwenden Sheet1 oder Sheets("Sheet1") statt. Was passiert, wenn ein Blatt nicht aktiv ist?

InformationsquelleAutor nsg | 2014-07-28

Schreibe einen Kommentar