Net Framework, Office 365, C#, WPF, ASP.Net, Visual Studio, Programmiersprachen PC, C# Programmieren, vba, SQL Server, free source code snippets Antivirus free
#

Download:

Datei 1: Demo_Excel_Email_on_Input_2018-09-05_a.xlsm

Excel vba: Erkennen einer Eingabe in Zellen

 

Wie kann man die Eingabe in einem Excel-Blatt überwachen, wenn eine Zelle in einem bestimmten Bereich geändert wird.

 

Lösung

Man kann in Excel den Worksheet Change auf Target Range untersuchen

 

Worksheet_Change Event erstellen

Hierzu öffnet man unter Alt-F11 den vba Makrobereich.

Im vbaProject-Bereich wählt man das Arbeitsblatt als Tabelle(xxx)

Dann kann man den Objektbereich Worksheet öffen (zellen oben links)

Und rechts den Event: Change auswählen

 

 

Dann kann man den Eingabebereich wie folgt abfragen mit Target.Address

Private Sub Worksheet_Change(ByVal Target As Range)

    '--------< Worksheet_Change(ImputCell) >--------

    '*After_Cell_Input_Change

    If Target.Address Like "$B$*" Then

        MsgBox "treffer"

    End If

    '--------</ Worksheet_Change(ImputCell) >--------

End Sub

 

 

 

Weitere Möglichkeiten zum Prüfen des Eingabebereichs

Folgende vba Code-Möglichkeiten kann man zur Erkennung des Bereichs einer kompletten Spalte anwenden

1) Vergleich der Address

Über Wildcard wie *

 

2) Vergleich über Intersect(Eingabebereich , Erlaubter_Bereich)

a) über genaue Adressbenennung B1:B1000

b) über Spalten-Adresse ohne Zeilen B:B

c) über Columns Eigenschaft

 

Private Sub Worksheet_Change(ByVal Target As Range)

    '--------< Worksheet_Change(ImputCell) >--------

    '*After_Cell_Input_Change

    If Target.Address Like "$B$*" Then

        MsgBox "treffer Target.Address Like '$B$*'"

    End If

 

    'oder

    If Not Intersect(Target, Range("B1:B10000")) Is Nothing Then

        MsgBox "treffer Intersect(Target, Range('B1:B10000'))"

    End If

    'oder

    If Not Intersect(Target, Range("B:B")) Is Nothing Then

        MsgBox "treffer Intersect(Target, Range('B:B'))"

    End If

 

 

    If Not Intersect(Target, Columns("B:B")) Is Nothing Then

        MsgBox "treffer Intersect(Target, Columns('B:B'))"

    End If

 

 

    '--------</ Worksheet_Change(ImputCell) >--------

End Sub

 

 

 

Mobile
»
Excel vba: Erkennen einer Eingabe in Zellen
»
Excel, vba: Bild einfügen in eine Zelle von Zwischenspeicher
»
Excel: Formelfelder per Code kopieren
»
Excel Adressen in vba verwenden
»
Spalte in Excel per vba code als Nummer löschen
»
Excel Bereich in eine Tabelle umwandeln
»
Gruppierung in Excel per vba öffnen oder schliessen
»
Excel : Durchlaufen von Zeilen, Auswerten von Zellinhalten
»
Excel: eine Textdatei erstellen, Zeilen schreiben, Speichern
»
Speichern von Excel-Dateien mit Visual Basic code oder Makros

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Raimund.Popp@Microsoft-Programmierer.de