Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitzfehler 1004

Forumthread: Laufzeitzfehler 1004

Laufzeitzfehler 1004
22.12.2015 13:44:33
Nouha
Hallo Zusammen
Ich möchte eine Tabelle erstellen die alle Änderungen einer anderen Tabelle dokumentiert, dies habe ich auch gemacht jedoch wird mir immer wieder ein Laufzeitfehler 1004 angezeigt , kann mir jemand explizit sagen wo mein Fehler ist?
viele Grüße und danke
'

Private Sub Worksheet_Change(ByVal Target As Range)
'Dim lngRow As Long
'Dim intYesNo As Integer
'Dim strGrund As String
'Dim strAlterWert As String
'If Target.Cells.Count > 1 Then Exit Sub
'intYesNo = MsgBox("Möchten Sie die Änderung übernehmen?", vbYesNo, "Änderungsabfrage")
'Select Case intYesNo
'Case 6
'    Do
'            strGrund = InputBox("Bitte Änderungsgrund angeben", "Änderungsgrund")
'        Loop Until (strGrund  "") 'Eingabe erzwingen
' Changelog in ChangeLog ausfuellen
'        With Worksheets("ChangeLog")
'lngRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
'           .Cells(lngRow, 1).Value = Cells(Target.Row, 1).Value
'          .Cells(lngRow, 2).Value = Cells(Target.Row, 2).Value
'          .Cells(lngRow, 3).Value = Cells(1, Target.Column).Value & ": " & Target.Value
'          .Cells(lngRow, 4).Value = Application.UserName
'          .Cells(lngRow, 5).Value = Now
'          .Cells(lngRow, 6).Value = strGrund
'       End With
'   Case Else
'Falls bei der Abfrage "Nein" gewaehlt wird, wird der alte Wert wieder eingetragen ( _
Aenderung verworfen)
'       Application.EnableEvents = False
'           Target.Value = strAlterWert
'       Application.EnableEvents = True
'   Exit Sub
'End Select
'End Sub

'

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Verhindern, dass mehr als eine Zelle selektiert wird
'On Error GoTo ErrorExit
'Application.EnableEvents = False
'ActiveCell.Select
'ErrExit:
'Application.EnableEvents = True
'Wert der ausgewaehlten Zelle merken, um im Changelog den alten Zellwert zu dokumentieren
'   strAlterWert = Target.Value
'ErrorExit:
'End Sub
Private Sub ChangeLog()
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitzfehler 1004
22.12.2015 14:05:39
Michael
Hallo Nouha!
Du darfst Deine Variable strAlterWert nicht nur prozedurweit deklarieren, und beim SelectionChange-Ereignis reicht aus meiner Sicht auch etwas weniger
Dim strAlterWert As String
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngRow As Long
Dim intYesNo As Integer
Dim strGrund As String
If Target.Cells.Count > 1 Then Exit Sub
intYesNo = MsgBox("Möchten Sie die Änderung übernehmen?", vbYesNo, "Änderungsabfrage")
Select Case intYesNo
Case 6
Do
strGrund = InputBox("Bitte Änderungsgrund angeben", "Änderungsgrund")
Loop Until (strGrund  "") 'Eingabe erzwingen
'Changelog in ChangeLog ausfuellen
With Worksheets("ChangeLog")
lngRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(lngRow, 1).Value = Cells(Target.Row, 1).Value
.Cells(lngRow, 2).Value = Cells(Target.Row, 2).Value
.Cells(lngRow, 3).Value = Cells(1, Target.Column).Value & ": " & Target.Value
.Cells(lngRow, 4).Value = Application.UserName
.Cells(lngRow, 5).Value = Now
.Cells(lngRow, 6).Value = strGrund
End With
Case Else
'Falls bei der Abfrage "Nein" gewaehlt wird, wird der alte Wert wieder eingetragen ( _
Aenderung verworfen)
Application.EnableEvents = False
Target.Value = strAlterWert
Application.EnableEvents = True
Exit Sub
End Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
strAlterWert = Target.Value
End Sub
Achte darauf, dass hier strAlterWert AUSSERhalb der Prozeduren deklariert ist!
LG
Michael

Anzeige
AW: Laufzeitzfehler 1004
22.12.2015 14:23:46
nouha
Vielen dank

AW: Gerne! Frohes Fest! LG Michael (owT)
22.12.2015 14:42:36
Michael
;

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