09.04.2019, 11:10
09.04.2019, 11:51
Moin,
@Bast4i
bei mir kommt der Fehler "Fehler beim Kompilieren Sub oder Function nicht definiert"
@Bast4i
bei mir kommt der Fehler "Fehler beim Kompilieren Sub oder Function nicht definiert"
09.04.2019, 12:10
Hallo,
einmal heißt es Blattname das andere mal Blatnamme
einmal heißt es Blattname das andere mal Blatnamme
09.04.2019, 12:19
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
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
09.04.2019, 12:29
Hallo,
sind die Variablen Spalte_AENDERUNG und Spalte.... deklariert? Und wo? Was ist Tabellenendensuchen?
sind die Variablen Spalte_AENDERUNG und Spalte.... deklariert? Und wo? Was ist Tabellenendensuchen?
09.04.2019, 12:54
(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
09.04.2019, 13:06
09.04.2019, 14:02
(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
09.04.2019, 14:30
(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
Gruß
Sebastian
09.04.2019, 14:36
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)
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