nid1979
Goto Top

Fehler beim Kompilieren

Hallo zusammen!

ich bin absoluter Neuling in diesem Fachbereich. Habe folgende Codes erstellt, allerdings kommt die Fehlermeldung 'Fehler beim kompilieren, Mehrdeutiger Name: Worksheet_Change'.
Kann ich etwas umbenennen im Code, damit das nicht mehr der Fall ist?


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 2 Then 'erst ab Zeile 2  
    If Not Intersect(Target, Columns("C")) Is Nothing Then 'Spalte C überwachen  
        Target.Offset(0, -1).Value = Date 'Offset = Abstand in Zeilen und Spalten zur veränderten Zelle  
    End If
End If
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 2 Then 'erst ab Zeile 2  
    If Not Intersect(Target, Columns("K")) Is Nothing Then 'Spalte K überwachen  
        Target.Offset(0, 1).Value = Date     'Offset = Abstand in Zeilen und Spalten zur veränderten Zelle  
    End If
End If
End Sub


Viele Grüsse und besten Dank

Content-Key: 343767

Url: https://administrator.de/contentid/343767

Printed on: April 18, 2024 at 17:04 o'clock

Member: Pjordorf
Pjordorf Jul 18, 2017 at 13:44:17 (UTC)
Goto Top
Hallo,

Zitat von @Nid1979:
Mehrdeutiger Name: Worksheet_Change'.
Joah. Das geht auch so nicht. Warum machst du Zweimal
Private Sub Worksheet:Change(ByVal Target As Range)
und der Einzige Untershied ist "C" oder "K"? Wenn du zwei Werte überwachen willst, wirst du das in einer Sub dann tun müssen - sofern die Subs wie bei dir den gleichen Namen haben. Du darfst IFs auch verschachteln....

Gruß,
Peter
Member: SlainteMhath
SlainteMhath Jul 18, 2017 at 13:45:50 (UTC)
Goto Top
Moin,

Mehrdeutiger Name:

Zeile 1 und 18: das Sub hat jeweils den gleichen Namen. Was soll denn ausgeführt werden, wenn das Change Ereigniss eintritt? Das Sub in Zeile 1 oder das in Zeile 18?

lg,
Slainte
Member: Nid1979
Nid1979 Jul 18, 2017 at 13:47:54 (UTC)
Goto Top
In der Spalte B soll das Datum erscheinen wenn in der Spalte C ein Wert eingegeben wird, dasselbe mit dem Spalten K und L.
Wie erstelle ich diese Sub?
Member: MrCount
MrCount Jul 18, 2017 at 13:55:24 (UTC)
Goto Top
Servus,

Zitat von @Nid1979:
Wie erstelle ich diese Sub?

Am besten schaust du dir hier mal ein paar Tutorials an...
Member: Pjordorf
Pjordorf Jul 18, 2017 at 13:57:40 (UTC)
Goto Top
Hallo,

Zitat von @Nid1979:
In der Spalte B soll das Datum erscheinen wenn in der Spalte C ein Wert eingegeben wird, dasselbe mit dem Spalten K und L.
Entweder zwei IF....End IF (jeweils für C und K) untereinander schreiben, oder in einer IF beide Schritte abarbeiten oder oder oder.

Wie erstelle ich diese Sub?
Warum SUB? Diese Sub stammt doch aus dein Excel und wird immer angelaufen wenn dein WorkSheet sich ändert. Ansonsten werden Sub ein erzeugt indem du "Sub MeineersteSub ()" schreibst. Das End Sub fügt dein VBA Editor schon ein.

Mach einfach ein
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 2 Then 'erst ab Zeile 2  
    If Not Intersect(Target, Columns("C")) Is Nothing Then 'Spalte C überwachen  
        Target.Offset(0, -1).Value = Date 'Offset = Abstand in Zeilen und Spalten zur veränderten Zelle  
    ELSE IF Not Intersect(Target, Columns("K")) Is Nothing Then 'Spalte K überwachen  
        Target.Offset(0, 1).Value = Date 'Offset = Abstand in Zeilen und Spalten zur veränderten Zelle  
    End If
End If
End Sub
Gruß,
Peter