Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Track Changes mittels VBA
#11
Den Code musst Du im VBA-Editor in die entsprechenden Tabellen kopieren.
[
Bild bitte so als Datei hochladen: Klick mich!
]
[-] Folgende(r) 1 Nutzer sagt Danke an Bast4i für diesen Beitrag:
  • XenOn655
Antworten Top
#12
Moin,

@Bast4i 

bei mir kommt der Fehler "Fehler beim Kompilieren Sub oder Function nicht definiert"


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#13
Hallo,

einmal heißt es Blattname das andere mal Blatnamme
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#14
Moin,

upps, das habe ich jetzt geändert, aber spuckt mir noch immer das selbe aus und markiert Private Sub Worksheet_Change(ByVal Target As Range) in gelb.

MfG
XenOn655
Antworten Top
#15
Hallo,

sind die Variablen Spalte_AENDERUNG und Spalte.... deklariert? Und wo? Was ist Tabellenendensuchen?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#16
(09.04.2019, 12:29)Steffl schrieb: Hallo,

sind die Variablen Spalte_AENDERUNG und Spalte.... deklariert? Und wo? Was ist Tabellenendensuchen?

Ich habe das was Basti4 einfach in den Editor abgetippt und mehr habe ich gemacht. Wie gesagt meine Sklills in VBA gehen gegen 0

MfG
XenOn655
Antworten Top
#17
10Hallo,

Du hast nur einen Teil von Sebastian geposteten Code in Verwendung. Schaue dir nochmals genau seinen Beitrag Nr. 10 an.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • XenOn655
Antworten Top
#18
(09.04.2019, 13:06)Steffl schrieb: ich habe mal einen Code von dir im Forum gefunden 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
' MitDkBlattAusblenden
    Dim raBereich As Range
        Set raBereich = Sheets("Data").Range("J1:J20")
        
            If Intersect(Target, raBereich) Is Nothing Then Exit Sub
                If Sheets("Berechnungen").Visible = False Then
                        Sheets("Berechnungen").Visible = True
                    Else: Sheets("Berechnungen").Visible = False
                End If

Das in Fett gedruckt habt ich schon an meinen Code angepasst aber trotzdem markiert er das kurisv fett bei mir. Und gibt den Fehler im siehe Bild aus.

MfG
XenOn655


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#19
(09.04.2019, 11:51)XenOn655 schrieb: Moin,

@Bast4i 

bei mir kommt der Fehler "Fehler beim Kompilieren Sub oder Function nicht definiert"

Du hast den Code für die Funktion TabellenendeSuchen vergessen zu kopieren!
Code:
Function TabellenendeSuchen(Arbeitsblatt As String, Spalte As Integer) As Long

TabellenendeSuchen = ActiveWorkbook.Worksheets(Arbeitsblatt).Cells(Rows.Count, Spalte).End(xlUp).Row

End Function
Füg das noch ganz unten ein!

Gruß
Sebastian
Antworten Top
#20
Moin,

Mir ist gerade aufgefallen das er den Blattnamen ausgibt. Was muss ich ändern damit er immer den kompletten Bereich anguckt und dann wenn da was geändert worden ist auch den ganzen Bereich abspeichert (siehe Bild)
Code:
Option Explicit
Const SPALTE_AENDERUNG = 8 'Nummer der Spalte auf deren Änderung reagiert wird
Const SPALTE_DATUM = 8 'Nummer der Spalte die das zu übertragende Datum enthält

Const LOG_BLATT = "Data" 'Name des Blattes, das das Log enthält
'#

Private Sub Worksheet_Change(ByVal Target As Range) 'Event bei Ändern eines Zelleninhalts

Dim Datum As Long
Dim LetzteZeile As Long
Dim Blattname As String

If Target.Column = SPALTE_AENDERUNG Then
  Datum = Cells(Target.Row, SPALTE_DATUM)
  Blattname = ActiveSheet.Name
 
  LetzteZeile = TabellenendeSuchen(LOG_BLATT, 1)
  ActiveWorkbook.Worksheets(LOG_BLATT).Cells(LetzteZeile + 1, 1) = Blattname
  ActiveWorkbook.Worksheets(LOG_BLATT).Cells(LetzteZeile + 1, 2) = Datum
  ActiveWorkbook.Worksheets(LOG_BLATT).Cells(LetzteZeile + 1, 3) = Environ("UserName") 'Application.UserName
  ActiveWorkbook.Worksheets(LOG_BLATT).Cells(LetzteZeile + 1, 4) = Now
     
  ActiveWorkbook.Worksheets(LOG_BLATT).Columns(2).NumberFormat = "dd/mm/yyyy"
  ActiveWorkbook.Worksheets(LOG_BLATT).Columns(5).NumberFormat = "dd/mm/yyyy hh:mm"
End If

End Sub
Function TabellenendeSuchen(Arbeitsblatt As String, Spalte As Integer) As Long

TabellenendeSuchen = ActiveWorkbook.Worksheets(Arbeitsblatt).Cells(Rows.Count, Spalte).End(xlUp).Row

End Function


Angehängte Dateien Thumbnail(s)
   
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste