Projektanfrage

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unter-stützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! oder rufen Sie uns einfach an.

   
      Referenzen 

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   
     Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
   

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der Lösungs-
 findung?

  Nutzen Sie unser Auftragsformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
r
o
j
e
k
t
a
n
f
r
a
g
e
   

Daten direkt bei Eingabe ersetzen

In diesem Beispiel zeigen wir, eine Alternative Methode zur AutoKorrektur-Option um Daten direkt bei der Eingabe ersetzen zu lassen.

Sehr wir uns aber zunächst die integrierte AutoKorrektur-Option und die Damit verbundenen Einschränkungen etwas näher an. Diese Funktion wird über das Menü Datei / Dokumentenprüfung / Schaltfläche: AutoKorrektur-Optionen aufgerufen, siehe Abbildung 1.


Abb. 1

Dort können nun die Begriffe eingetragen werden, die durch einen neuen Begriff ersetzt werden sollen. Wenn Sie diese Ersetzen-Methode verwenden, werden Sie mit folgenden Beschränkungen konfrontiert:

  • Sie müssen die zu ersetzenden Begriffe nacheinander manuell in das Dialogfenster eintragen
  • Die Ersetzungen gelten in der gesamten Arbeitsmappe, auf allen Tabellenblättern
  • Die Ersetzungen gelten in allen geöffneten Excel-Dateien. Eine Beschränkung auf Bereiche oder Tabellenblätter ist nicht möglich

Und genau an dieser Stelle setzt unser Beispiel an. Dort kann genau definiert werden, in welchem Zellbereich die automatischen Ersetzungen gelten sollen. Die zu ersetzenden und neuen Begriffe werden dabei ganz einfach in einem separaten Tabellenblatt gespeichert und können wie gewohnt per Copy und Paste kopiert und ergänzt werden, siehe Abbildung 2.


Abb. 2

In dem Beispiel werden unter Anderem 6-stellige Nummern durch 7-stellige Ziffernfolgen direkt bei der Eingabe ersetzt. Wie die Liste zeigt, können aber nicht nur Zahlen sondern beliebige Zeichenfolgen und Wörter ersetzt werden.

Damit das automatisierte Ersetzen funktioniert, sind ein paar Zeilen VBA-Code notwendig.

Erfassen Sie deshalb den folgenden VBA-Code in dem Codemodul des Tabellenblattes, in dem die Eingaben ersetzt werden sollen.

Private Sub Worksheet_Change(ByVal Target As Range)

'** Dimensionierung der Variablen
Dim varWert As Variant

'** Vorgaben definieren
Set wsein = ThisWorkbook.Sheets("Eingabe")
Set wsdat = ThisWorkbook.Sheets("Daten")


'** Zellbereich festlegen, in dem die Daten ersetzt werden sollen.
'** Im vorliegenden Beispiel soll dies im Bereich A4 bis A100 der Fall sein
If Not Application.Intersect(Target, Range("A4:A100")) Is Nothing Then
  On Error GoTo ende
  
  '** Auslesen des erfassten Wertes und suchen des neuen Wertes in der Ersetzungs-Tabelle
  varWert = WorksheetFunction.VLookup(Target.Value, wsdat.Range("A4:B100"), 2, False)
  
  '** Eintragen der neuen Daten und ersetzen der Eingabe
  Application.EnableEvents = False
  Target.Value = varWert
  Application.EnableEvents = True
  
End If
Exit Sub

'** Errorhandling mit Ausgabe eines Hinweises, wenn kein Treffer in der Liste gefunden wurde
ende:

End Sub

Durch die Verwendung des Befehls Intersect wird im vorliegenden Beispiel die Gültigkeit für die automatische Ersetzung auf den Zellbereich A4:A100 beschränkt und kann natürlich beliebig geändert werden. Das bedeutet, dass sobald ein Begriff, der sich auf der Korrekturtabelle in Spalte A befindet, in dem Zellbereich A4:A100 eingetragen wird durch den neuen Begriff aus Spalte B der Korrekturtabelle ersetzt wird.

Damit steht mit dieser Lösung eine der integrierten AutoKorrektur-Option ähnliche Funktion zur Verfügung, die aber individueller an die Anforderungen angepasst werden kann.

Die Beispieldatei können Sie über den folgenden Link herunterladen.

 

   

Relevante Artikel

  • Zeilen abhängig von einer bestimmten Bedingung löschen

    Bedingte Zeilenlöschung Mit diesem Makro können sie Zeilen abhängig von einer Bedingung löschen. Die Bedingung in diesem Beispiel ist der Buchstabe "x" in der ersten Spalte. Das bedeutet, wenn eine...

  • Änderungen von Zellen dokumentieren

    101002 Einfügen in Tabellenblatt (nicht Code-Modul)   Mit diesem Code können Änderungen live in einer Spalte dokumentiert werden. Der Änderungshinweis wird in einer definierten Spalte ausgegeben.   Wenn Sie...

  • Zugriff auf Daten über VBA und Bereichsnamen

    Wenn für einen Zellbereich ein Bereichsname vergeben wurde, kann auf diesen über VBA zugegriffen, also gelesen und geschrieben werden. In diesem Beispiel wurde ein Bereich mit einer Größe von 12...

  • Autofilter: Gefilterte Datensätze auslesen

    In diesem Artikel erläutern wir, wie sich der über einen Autofilter gefilterte Inhalt aus einer Liste auslesen lässt. Als Ausgangsbasis dient wieder einmal eine Artikelliste mit etwas mehr als 25...

  • Letzte Zeile, letzte Spalte und letzte Zelle per VBA ermitteln

    101012 Nachfolgend sehen Sie einige Makros, mit denen die letzte Zeile, die letzte Spalte bzw. die letzte Zelle ermittelt werden kann. Die Erläuterungen zu den einzelnen Makros finden Sie als...