Könnte mal jemand über mein Makro schauen?
18.11.2003 15:15:55
Scotty
Quelldatei und Protokolldatei stehen in einer Arbeitsmappe.
Option Explicit
Public InhaltAlt, ZeilProt
'Die beiden ersten stehen in der Quelldatei in der geändert wird
'bei Ansteuerung einer Zelle wird deren Wert in InhaltAlt gespeichert
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
InhaltAlt = Target.Value
End Sub
'hier wird der Rest erledigt und in eine Tabelle Protokoll geschrieben
Private Sub worksheet_change(ByVal Target As Range)
Dim ZeileText, SpalteText, InhaltNeu, Benutzer As String, DatZeit
InhaltNeu = Target.Value
ZeileText = Cells(Target.Row, 1)
SpalteText = Cells(1, Target.Column)
Benutzer = UserName()
DatZeit = Date + Time
Worksheets("Protokoll").Cells(ZeilProt, 1).Value = ZeileText
Worksheets("Protokoll").Cells(ZeilProt, 4).Value = SpalteText
Worksheets("Protokoll").Cells(ZeilProt, 5).Value = InhaltAlt
Worksheets("Protokoll").Cells(ZeilProt, 6).Value = InhaltNeu
Worksheets("Protokoll").Cells(ZeilProt, 7).Value = Benutzer
Worksheets("Protokoll").Cells(ZeilProt, 8).Value = DatZeit
ZeilProt = ZeilProt + 1
End Sub
'Diese steht im Modulblatt der Arbeitsmappe
'damit wird die akt Zeilenzahl in Protokoll festgestellt
Sub auto_open()
ZeilProt = Worksheets("Protokoll").Range("A1").CurrentRegion.Rows.Count + 1
End Sub
Zum einen meckert er bei der Zeile "Benutzer = UserName()" Meldung:Function nicht deklariert. Habe das auf "Benutzer = Application.UserName geändert. Es wird nicht mehr gemeckert, nur bei der Zeile "Worksheets("Protokoll").Cells(ZeilProt, 1).Value = ZeileText" bleibt das Makro mit der Meldung: Anwendungs- oder objektdefinierter Fehler stehen.
Was mache ich falsch??
Danke für eure Hilfe
Scotty