HERBERS Excel-Forum - das Archiv
Worksheet_Change Ereignis erweitern
Fritz_W

Hallo Forumsbesucher,
in meiner Tabelle befindet sich dasnachstehende Ereignis-Makro.
Ich will, dass inn der gleichen Tabelle immer wenn in die Zelle B2 etwas eingegeben wird, in allen Zellen des Bereichs G2:I51 der Wert "" eingetragen wird.
Lässt sich das kombinieren?
Vielen Dank für jede Hilfe.
mfg
Fritz


Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G2:G51")) Is Nothing Then Exit Sub
If Target <> "" Then
Application.EnableEvents = False
Target.Offset(0, 1) = Target
Target.Offset(0, 1).Select
Application.EnableEvents = True
End If
End Sub


Ergänzung
Fritz_W

Hallo,
die Änderungen im Bereich G2:I51 jedoch nach Möglichkeit, erst nach einer Abfrage.
Gruß
Fritz

AW: Ergänzung
selli

hallo fritz,
damit sollte es gehen


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = ("$B$2") Then
Range("G2:I51").Value = ""
End If
End Sub


gruß selli

mit vorheriger Abfrage
selli

hallo fritz
hier das ganze nochmal mit bestätigungsabfrage


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = ("$B$2") Then
If InputBox("ja/nein") = "ja" Then
Range("G2:I51").Value = ""
End If
End If
End Sub


gruß selli

AW: mit vorheriger Abfrage
Fritz_W

Hallo selli,
vielen Dank für Deine Hilfe.
Für sich allein funktioniert die Sache prima, dann muss ich aber auf das bereits bestehende Makro verzichten und das wollte ich eigentlich nicht. Man müsste wohl die neuen "Anforderungen" mit dem bereits bestehenden Code verbinden, aber dazu brauche ich weitere Hilfe.
mfg
Fritz

AW: Change-Ereignis mit zwei Bereichen
Erich

Hallo Fritz,
probier mal


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G2:G51")) Is Nothing Then
If Target <> "" Then
Application.EnableEvents = False
Target.Offset(0, 1) = Target
Target.Offset(0, 1).Select
End If
ElseIf Not Intersect(Target, Range("B2")) Is Nothing Then
If MsgBox("Löschen?", vbYesNo + vbQuestion, "Löschabfrage") = vbYes Then
Application.EnableEvents = False
Range("G2:I51").ClearContents
End If
End If
Application.EnableEvents = True
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Change-Ereignis mit zwei Bereichen
Fritz_W

Hallo Erich,
freut mich sehr, dass Du mir wieder einmal hilfst.
Kann den Code erst heute abend testen, da ich jetzt weg muss.
Aber wie ich Dich kenne, funktioniert das einwandfrei.
Ansonsten melde ich mich hier noch einmal.
Vielen Dank und schöne Grüße nach Kamp-Lintfort
Fritz