VBA Lösung gesucht ...
20.11.2021 15:30:44
Franzl
ich sitze hier an einem Problem und bin nicht so in VBA.
Ich habe ein Makro, dass sozusagen Daten aus einer Tabelle protokolliert. Das funktioniert auch super. Nur es werden immer von allen Tabellenblättern die eingegebenen Daten in dem Blatt "Protokoll" eingetragen. Ich bräuchte aber nur die Daten im Protokoll, die in dem Tabellenblatt "Kosten" eingetragen werden.
Das Makro, welches ich nutze lautet:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ErsteFreieZeile As Long
If Target.Count > 1 Then Exit Sub
If Sh.Name = "Protokoll" Then Exit Sub
If Intersect(Target, Sh.Range("B6:I99")) Is Nothing Then Exit Sub
With Sheets("Protokoll")
ErsteFreieZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(ErsteFreieZeile, 1) = Now
.Cells(ErsteFreieZeile, 2) = Date
.Cells(ErsteFreieZeile, 3) = Time
.Cells(ErsteFreieZeile, 4) = Sh.Name
.Cells(ErsteFreieZeile, 5) = Target.Address(0, 0)
.Cells(ErsteFreieZeile, 7) = Target.Value
.Cells(ErsteFreieZeile, 8) = Environ("Computername")
.Cells(ErsteFreieZeile, 9) = ThisWorkbook.FullName
End With
End Sub
Eine Beispieldatei habe ich hier angehängt https://www.herber.de/bbs/user/149264.xlsm
Ich weiß nicht, wo ich den Tabellennamen im Makro einfügen muss, damit "nur" das Tabellenblatt "Kosten" protokolliert wird.
Danke im voraus.
Franzl