Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Worksheet_Change Ereignis erweitern

Betrifft: Worksheet_Change Ereignis erweitern von: Fritz_W
Geschrieben am: 16.11.2007 11:38:11

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


  

Betrifft: Ergänzung von: Fritz_W
Geschrieben am: 16.11.2007 11:40:39

Hallo,

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

Gruß
Fritz


  

Betrifft: AW: Ergänzung von: selli
Geschrieben am: 16.11.2007 11:56:39

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


  

Betrifft: mit vorheriger Abfrage von: selli
Geschrieben am: 16.11.2007 12:01:38

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


  

Betrifft: AW: mit vorheriger Abfrage von: Fritz_W
Geschrieben am: 16.11.2007 12:15:38

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


  

Betrifft: AW: Change-Ereignis mit zwei Bereichen von: Erich G.
Geschrieben am: 16.11.2007 12:54:37

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


  

Betrifft: AW: Change-Ereignis mit zwei Bereichen von: Fritz_W
Geschrieben am: 16.11.2007 13:21:40

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


 

Beiträge aus den Excel-Beispielen zum Thema "Worksheet_Change Ereignis erweitern"