Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Neues TB - WS_ Change Ereignis übernehmen


Betrifft: Neues TB - WS_ Change Ereignis übernehmen von: STeve
Geschrieben am: 06.06.2017 21:39:12

Guten Abend miteinander. Ich schon wieder.

In meiner Datei habe ich im Klassenmodul der Tabelle 5(VORLAGE)
ganz oben einige

PUBLIC - Variablen definiert

dann

Private Sub Worksheet_Change(ByVal Target As Range)
darin wird auf mehrere Module zugegriffen und diese gestartet.

Natürlich ist da nirgends der Blattname (VORLAGE) angegeben weil es ja im Klassenmodul (Worksheet_Change) eingetragen ist.

Über eine UF kann der Benutzer ein neues Blatt (Name immer anders) generieren und da soll das Change Ereignis und die Module wieder funktionieren.

Das Blatt(VORLAGE)wird schlussendlich gelöscht.

Wer kann mir da helfen???

Besten Dank und liebe Grüße
STeve

  

Betrifft: AW: Neues TB - WS_ Change Ereignis übernehmen von: Sepp
Geschrieben am: 06.06.2017 21:43:46

Hallo Steve,

wenn du das Blatt "Vorlage" kopierst, wird doch der Code übernommen!

Gruß Sepp



  

Betrifft: AW: Neues TB - WS_ Change Ereignis übernehmen von: Daniel
Geschrieben am: 06.06.2017 21:52:34

Hi
Public-Variablen solltest du in einem allgemeinen Modul deklarieren.
nur dann sind sie uneingeschränkt überall in der Datei verfügbar.
Deklarierst du sie in einem Klassenmodul wie Tabelle1, musst du immer den Codenamen des Moduls, in dem die Variable deklariert wurde, voranstellen: Tabelle5.DeineVariable = 1

außerdem, wenn du das Modul, in welchem die Variabele deklariert wurde löschst, dann kann die Variable auch in den anderen Modulen nicht mehr verwendet werden.

Wenn ein Eventmakros in allen oder mehreren Tabellenblättern der Datei laufen sollen, dann kann man dieses Event auch im Modul "DieseArbeitsmappe" erstellen.
Es gilt dann in allen Tabellenblättern. Über die Variable sh kannst du ermitteln, auf welchem Blatt du dich gerade befindest.

Gruß Daniel


  

Betrifft: Danke SEPP und Daniel von: Steve
Geschrieben am: 07.06.2017 17:06:32

Hallo ihr zwei. Danke für die schnelle Antwort.

1.)Sepp: Das Tabellenblatt wird nicht kopiert, sondern über Userform von dem jeweiligen Benutzer ein neues - mit mir nicht bekannten - Namen erstellt

2.) Danke Daniel für die Tipps. Werde die Variablen anders positionieren. Weiter werde ich die Events in diese Arbeitsmappe umspeichern.

Die Variable sh (sheet) das muss ich mir erst anschauen ob ich das hinbringe. (grübel)

Besten Dank und noch schönen Tag
mfg STeve


Beiträge aus den Excel-Beispielen zum Thema "Neues TB - WS_ Change Ereignis übernehmen"