Hallo Werner oder auch gerne jemand anderer :)
bin nach längerer Zeit wieder dazugekommen und musste leider feststellen, dass es doch nicht ganz das war was ich bräuchte.
Ich benötige nicht eine Kombination der folgenden zwei VBA Codes sondern möchte beide nur in einem Tabellenblatt nutzen, was nicht möglich ist wg. der Doppelnennung von: Private Sub Worksheet_Change(ByVal Target As Range)
Code 1:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Integer
If Intersect(Target, Range("D6:D2581")) Is Nothing Then Exit Sub
For a = 1 To ThisWorkbook.Sheets.Count
If Sheets(a).Name = Target.Offset(0, 1).Text Then
MsgBox "Tabelle mit den Namen: " & Target.Offset(0, 1) & " ist schon vorhanden"
Application.EnableEvents = False
Target.Offset(0, 1) = ""
Application.EnableEvents = True
Exit Sub
End If
Next a
Application.EnableEvents = False
If Target.Offset(0, 1).Text > "" Then
Sheets("Vorlage").Copy Before:=Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = Target.Offset(0, 1)
Target.Offset(0, 1) = ActiveSheet.Name
ElseIf Target.Offset(0, 1).Text = "" Then
On Error Resume Next 'Sicherheit wegen EnableEvents
Application.DisplayAlerts = False
Sheets(Target.Offset(0, 1).Text).Delete
Target.Offset(0, 1) = ""
Application.DisplayAlerts = True
End If
Application.EnableEvents = True
End Sub
Code 2:
Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet
If Target.Column = 2 Then ' Eingabe in Spalte A
If Target.Value <> "" Then
.Cells(Target.Row, 3).Value = Date
End If
End If
End With
End Sub
Hätte es schon mit:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
probiert, da es ja ein anderer Code ist. Funktioniert aber trotzdem nicht.
VG Laie
|