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 Anfrageformular

  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

  • Grafiken (Bilder) über eine Wenn-Abfrage einfügen

    101077 Das folgende Makro fügt abhängig vom Inhalt der Zelle A1 eine Grafik ab der Zelle D1 ein. Steht in A1 die Ziffer 1, so wird die Grafik excel1.gif angezeigt. In jedem anderen Fall, wird die...

  • Sortieren mit der BubbleSort Routine

    Das Thema Excel und Sortieren ist sehr vielfältig. In diesem Beitrag zeigen wir Ihnen, wie Zahlen per VBA mit Hilfe der sogenannten BubbleSort Routine sortiert werden können. Wikipedia bezeichnet...

  • Zeilen (Einträge) abhängig vom Datum löschen

    101070 Aus diesem Datenbestand sollen die Zeilen gelöscht werden, deren Datum in Spalte A imMonat November liegt.     A B C D 1 12.08.2002 daten daten daten 2 15.08.2002 daten daten daten 3 20.08.2002...

  • Text in Kleinbuchstaben umwandeln

    Das folgende Makro wandelt den Text im markierten Bereich in Kleinbuchstaben um. Es werden allso alle Buchstaben als Kleinbuchstaben dargestellt. Sie müssen dazu einfach den Bereich markieren, den...

  • Eingaben in Tabellenblatt protokollieren

    Die folgende Lösung zeigt, wie Sie Eingaben in ein Tabellenblatt protokollieren können. Zum Protokollieren, müssen Sie die Werte nur auf ein eigenes Tabellenblattschreiben, was im vorgestellten...