Herbers Excel-Forum - das Archiv
mehrere Auswahl im Spaltenbereich
Betrifft: mehrere Auswahl im Spaltenbereich
von: Valentino
Geschrieben am: 11.10.2003 13:11:54
Hallo allerseits!
Es geht um das "wenn --> dann, sonst..."
Anbei der Code, der soweit funktioniert.
Sobald ich in Spalte A einen Wert entferne, wird in Spalte B eine leere Zelle
wiedergegeben.
Das Problem ist, sobald ich auf einmal mehr als einen Wert in Spalte A lösche, gibt es eine Fehlermeldung.
Kann mir jemand einen Tip geben, wie bei einer Mehrfachselection (Spalte A), keine Fehlermeldung mehr erscheint.
Im voraus Danke
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
If Target.Value <> "" Then
Target.Offset(0, 1).Value = Format(Date, "d.mmm") & " " & Format(Time, "h.mm")
Else
Target.Offset(0, 1).ClearContents
End If
End Sub
Betrifft: AW: mehrere Auswahl im Spaltenbereich
von: Josef Ehrensberger
Geschrieben am: 11.10.2003 14:52:17
Hallo Valentino,
probier mal
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
If Target.Count > 1 Then
For Each rng In Selection
If rng <> "" Then
rng.Offset(0, 1).Value = Format(Date, "d.mmm") & " " & Format(Time, "h.mm")
Else
rng.Offset(0, 1).ClearContents
End If
Next
Else
If Target <> "" Then
Target.Offset(0, 1) = Format(Date, "d.mmm") & " " & Format(Time, "h.mm")
Else
Target.Offset(0, 1).ClearContents
End If
End If
End Sub
Gruß Sepp
Betrifft: AW: mehrere Auswahl im Spaltenbereich
von: WernerB.
Geschrieben am: 11.10.2003 15:28:30
Hallo Valentino,
was hältst Du hiervon:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ta1 As String, Ta2 As String, Lo As String
If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
If Target.Cells.Count = 1 Then
If Target.Value <> "" Then
Target.Offset(0, 1).Value = Format(Date, "d.mmm") & " " & Format(Time, "h.mm")
Else
Target.Offset(0, 1).ClearContents
End If
Else
Ta1 = Target.Address(False, False)
Lo = Left(Ta1, InStr(Ta1, ":") - 1)
If Range(Lo).Value = "" Then
Ta2 = WorksheetFunction.Substitute(Ta1, "A", "B")
Range(Ta2).ClearContents
End If
End If
End Sub
Viel Erfolg wünscht
WernerB.
P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Betrifft: Hat super funktioniert, Danke
von: Valentino
Geschrieben am: 12.10.2003 10:12:26
Danke