Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
144to148
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
144to148
144to148
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bei Protokoll kommt Laufzeitfehler 13

Bei Protokoll kommt Laufzeitfehler 13
07.08.2002 08:51:40
Bongartz
Hallo

ich habe im Archiv ein Beispiel gefunden. Damit kann ich alle Änderungen einer Tabelle in eine Protokolltabelle abspeichern.
Wenn ich aber eine Zeile Ändern möchte kommt die Fehlermeldung Laufzeitfehler 13.
Wie kann ich das Verhindern?
Gibt es einen Möglichkeit das man das Macro manuell ein und ausschalten kann?

Gruß
Bongartz

Hier das Beispiel:

Option Explicit
Public varValue As Variant
Public strAddress As String
Public Benutzername As Variant
Public varDatum As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim intRow As Integer
   If Target.Value <> varValue Then
      With Worksheets("Protokoll")
         intRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
         .Cells(intRow, 1).Value = strAddress
         .Cells(intRow, 2).Value = varValue
         .Cells(intRow, 3).Value = Benutzername
         .Cells(intRow, 4).Value = varDatum
         varValue = CStr(Target.Value)
      End With
   End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   varValue = ActiveCell.Value
   strAddress = ActiveCell.Address
   Benutzername = Application.UserName
   varDatum = Format(Date, "dd.mm.yy") & " / " & Time
End Sub

     Code eingefügt mit Syntaxhighlighter 1.13


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bei Protokoll kommt Laufzeitfehler 13
07.08.2002 10:30:02
Otto Ecker
Hallo Bongartz,

bei mir läuft's. Hast Du auch das Blatt "Protokoll" ?

die Ereignisse werden bei jeder Veränderung durchgeführt. Wenn das z.B. nicht auf Deinem Rechner durchgeführt werden soll, dann frage den Benutzer ab. Dann

If Benutzer = "Bongartz" then exit sub

Gruß Otto

Danke
07.08.2002 18:42:17
Bongartz
Hallo Otto

Dein Vorschlag mit dem Benutzer ist nicht schlecht.

Ich werde den NT-Benutzer abfragen.

Den Laufzeitfehler habe ich beim löschen einer Zeile oder beim Verschieben einer Zelle bekommen.

Mit dem einfügen von "On Error Resume Next" gehts:

Option Explicit

Public varValue As Variant
Public strAddress As String
Public Benutzername As Variant
Public varDatum As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next    'Verhindert den Laufzeitfehler
   Dim intRow As Integer
   If Target.Value <> varValue Then
      With Worksheets("Protokoll N")
         intRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
         .Cells(intRow, 1).Value = strAddress
         .Cells(intRow, 2).Value = varValue
         .Cells(intRow, 3).Value = Benutzername
         .Cells(intRow, 4).Value = varDatum
         varValue = CStr(Target.Value)
      End With
   End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   varValue = ActiveCell.Value
   strAddress = ActiveCell.Address
   Benutzername = Application.UserName
   varDatum = Format(Date, "dd.mm.yy") & " / " & Time
End Sub

     Code eingefügt mit Syntaxhighlighter 1.13

Gruß
bongartz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige