Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
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
Inhaltsverzeichnis

Event-Code fuer neues Sheet

Event-Code fuer neues Sheet
Florian
Hallo liebes Forum!
Habe ein Problem, bei dem Ihr mir sicher weiterhelfen koennt...
Per Makro generiere ich ein Worksheet neu (dh. bei jedem Update wird zunaechst das alte Sheet "sht1", falls es existiert, geloescht und dann neu generiert). In diesem Sheet soll nun die Moeglichkeit bestehen, ueber Events Makros auszuloesen (z.B. indem in einer Listbox ein bestimmter Wert gewaehlt wird).
Meine Frage nun: wie geht das? Der Code fuer das Event muesste ja eigentlich hinter dem Sheet liegen, welches noch gar nicht existiert. Weiss jemand einen Trick?
Vielen Dank im Voraus!
Florian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Event-Code fuer ALLE Sheets oder KLASSE
29.07.2011 13:47:33
NoNet
Hallo Florian,
Der Code fuer das Event muesste ja eigentlich hinter dem Sheet liegen,

Das ist nur bedingt richtig : Der Eventcode kann auch im Klassenmodul "DieseArbeitsmappe" gespeichert sein - er gilt dann für alle Sheets :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'sh ist der Name des aktuellen Tabellenblattes / Target der geänderte Bereich :
MsgBox Sh.Name & "!" & Target.Address, , "Geänderter Bereich :"
End Sub
Für die Listbox in einem Sheet gibt es hier jedoch kein Event - dazu musste man ein eigenes Klassenmodul erzeugen - Siehe http://www.online-excel.de/excel/grusel_vba.php?f=7
Gruß, NoNet
Anzeige
@Listbox
29.07.2011 14:41:34
Florian
Hallo NoNet,
vielen Dank fuer Deine Antwort. Eine Frage hab ich allerdings noch bzgl. der 'Listbox'.
Sagen wir mal so, ich hab mit Klassen noch nichts zu tun gehabt, und Dein Link heisst auch Grusel-VBA... Es ist eigentlich keine Listbox, sondern nur eine normale Zelle (Range), in der eine Gueltigkeitspruefung als Liste hinterlegt ist. Brauch ich dann auch die Klassen?
Vielen Dank fuer Deine Hilfe!
Gruss Florian
Nein, dann genügt Workbook_SheetChange()
29.07.2011 14:57:23
NoNet
Hallo Florian,
das vereinfacht ("entgruselt") die ganze SPUK-Geschichte - dann genügt folgender Code im Klassenmodul "DieseArbeitsmappe" :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'sh ist der Name des aktuellen Tabellenblattes / Target der geänderte Bereich :
MsgBox Sh.Name & "!" & Target.Address, , "Geänderter Bereich :"
End Sub
Dazu musst Du nun kein eigenes Klassenmodul mehr erstellen.
Gruß, NoNet
Exceltreffen 28.-30.10.2011 in Chemnitz
Ein Treffen für alle Excel-Freunde und Besucher deutschsprachiger Excel-Foren.
Alle Infos - Programm - Anmeldung - Teilnehmerliste etc. gibt es auf
http://www.exceltreffen.de/index.php?page=211
Wir freuen uns auf euch...

Anzeige
Vielen Dank funktioniert :)) (oT)
02.08.2011 09:05:37
Florian
..

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige