Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Workbook_sheetchange?
08.04.2003 17:29:04
Ol@f
Hallo XL-Forum,

ich als Visual Basic-Anfänger hab mir mal folgendes Protokollmakro geschrieben. Problem: Wie kann ich den Tabellenblattnamen, des veränderten Tabellenblattes auslesen?

Private Sub Workbook_Sheetchange(ByVal TB As Object, ByVal Source As Range)

a = Source.Row
b = Source.Column
c = Application.UserName
d = Source.Value
e = Format(Now, "dd.mm.yyyy")
f = Format(Now, "HH:MM")
g = ActiveWorkbook.Name
h = ActiveSheet.Name

Open "q:\Protokoll\Zeza-zugriffe.txt" For Append As #1
Print #1, "User: " & c & vbTab & "am: " & e & vbTab _
& "um: " & f & vbTab & "geänderte Spalte: " & b _
& ";~ Zeile:" & a & vbTab & "neuer Wert: " & d & vbTab & "in: " & g & h
Close #1

End Sub

"h" liefert mir leider nicht den erhofften Namen, sondern an der Stelle wird abgebrochen...warum?
Danke für Inspirationen


Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Workbook_sheetchange?
08.04.2003 17:53:39
ChrisL

Hallo Ol@f

Ich denke es liegt daran, dass du dich in einem Workbook statt Worksheet Ereignis befindest.

Hab es zwar nicht getestet, aber ich denke, wenn du dein Makro in ein Modul setzt und in allen Tabellen über...

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Call Makro
End Sub


das Makro aufrufst müsste es gehen.

Gruss
Chris

Anzeige
Re: Workbook_sheetchange?
08.04.2003 18:05:52
Ol@f

Hallo ChrisL,
danke für den Tipp.
Aber genau das wollte ich mir doch ersparen, daß ich für jedes Tabellenblatt ein Makro anlegen muß. Dachte das würde mit "workbook_sheetchange" so komfortabel gehen!?



noch offen
08.04.2003 20:15:03
ChrisL

Hallo Ol@f

Habe jetzt mal mit Excel 2000 folgendes probiert.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox ActiveSheet.Name
End Sub

Und es hat funktioniert. Bin deshalb unsicher, ob es mit der Version zusammenhängt oder ob der Bug sonstwo begraben ist.

In diesem Beitrag wurde mal etwas ähnliches behandelt und von Bernd sehr gut erklärt:
http://www.excel-center.de/forum/read.php?f=1&i=32566&t=32509
Dachte es sei das gleiche Problem. Jedenfalls ist das darin beschriebene Problem mit dem Blattbezug in Excel 2000 ebenfalls behoben.

Eine Zweitmeinung wäre intessant.

Gruss
Chris

Anzeige
Re: Workbook_sheetchange?
08.04.2003 21:10:22
PeterW

Hallo Olaf,

kann es nicht unter Version 8 testen aber probier mal:
h = TB.Name

Gruß
Peter

Re: noch offen
09.04.2003 01:44:16
moe

Ich glaube du must erst eine Zelle Aktievieren hatte mal ein ähnliches Problem

Private Sub Workbook_Sheetchange(ByVal TB As Object, ByVal Source As Range)
range("a1").activate
a = Source.Row
b = Source.Column
c = Application.UserName
d = Source.Value
e = Format(Now, "dd.mm.yyyy")
f = Format(Now, "HH:MM")
g = ActiveWorkbook.Name
h = ActiveSheet.Name

Open "q:\Protokoll\Zeza-zugriffe.txt" For Append As #1
Print #1, "User: " & c & vbTab & "am: " & e & vbTab _
& "um: " & f & vbTab & "geänderte Spalte: " & b _
& ";~ Zeile:" & a & vbTab & "neuer Wert: " & d & vbTab & "in: " & g & h
Close #1

End Sub

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige