Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eingabe in Zelle automatisch ändern ( VBA?)

Forumthread: Eingabe in Zelle automatisch ändern ( VBA?)

Eingabe in Zelle automatisch ändern ( VBA?)
12.10.2003 16:22:13
Thomas
Hallo,

ist es möglich, in Excel mit VBA folgende Erleichterung in Excel zu erzielen:

Vor mir befindet sich eine Liste mit unterschiedlichen Textangaben z.b.:

1 = München
2 = Berlin
3 = Hamburg

In Excel möchte ich mir die Arbeit ersparen, die einzelnen Punkte, z.Z. sind es "37", ewig einzutragen. Ideal wäre es, in die Zelle die Zahl einzutragen und nach der Eingabe wird durch VBA der richtige Name übernommen ( unabhängig von einer bestimmten Zelle).

Zum Beispiel:

Eingabe in Zelle "3" -> Nach Verlassen der Zelle steht dort "Hamburg".

Ist das möglich?

Gruß
Thomas
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabe in Zelle automatisch ändern ( VBA?)
12.10.2003 16:27:44
Hajo_Zi
Hallo Thomas

damit jann aber in keiner Zelle maehr die Zahlen 1 bis 37 eingegeben werden.

In VBA unter der Tabelle


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
Select Case Target.Value
Case 1
Target = "München"
Case 2
Target = "Bad Doberan"
End Select
End If
End Sub


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

http://home.media-n.de/ziplies/

Anzeige
AW: Eingabe in Zelle automatisch ändern ( VBA?)
12.10.2003 16:28:14
heinz
da ginge auch mit
extras
autokorrektur

das könntest du ja mit dem recorder aufzeichen
und für deine zwecke umgestalten
AW: Eingabe in Zelle automatisch ändern ( VBA?)
12.10.2003 16:28:52
PeterW
Hallo Thomas,

mit VBA: Rechtsklick auf das Tabellenblatt, Code anzeigen. In das sich öffnende Fenster folgenden Code kopieren. Er reagiert auf Spalte A, die ersten 3 Zahlen stehen im Code, du kannst weitere Zeilen nach dem gleichen Strickmuster einfügen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Application.EnableEvents = False
Select Case Target
Case 1
Target = "Hamburg"
Case 2
Target = "München"
Case 3
Target = "Berlin"
Case Else
Target = "keine gültige Eingabe"
End Select
Application.EnableEvents = True
End Sub


Eventuell reicht dir auch schon, das Ganze über Daten - Gültigkeit zu realisieren.

Gruß
Peter
Anzeige
AW: Eingabe in Zelle automatisch ändern ( VBA?)
12.10.2003 16:32:02
Josef Ehrensberger
Hallo Thomas,

Du kannst unter "Extras/AutoKorrektur"

beliebige Wörter hinzufügen, durch die bestimmte kürzel ersetzt
werden sollen.
Allerdings würde ich keine Ziffern verwenden, da dann bei jeder
Eingabe diese durch deine Wörter ersetzt werden.

Ausserdem musst du die Option "Korrektur während der Eingabe aktivieren.

Gruß Sepp
Anzeige
AW: Eingabe in Zelle automatisch ändern ( VBA?)
12.10.2003 16:51:19
Beni
Hallo Thomas,
versuche es mit diesem Code.
Gruss Beni


Private Sub worksheet_Change(ByVal Target As Range)
i = Target.Value
If IsNumeric(Target) = False Then Exit Sub
Target.Value = Cells(i, 1).Value
End Sub

Vielen, vielen Dank für die zahlreichen Antworten!
12.10.2003 18:16:59
Thomas
...
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Eingabe in Zelle automatisch ändern mit VBA


Schritt-für-Schritt-Anleitung

Um die Eingabe in einer Excel-Zelle automatisch zu ändern, kannst Du VBA (Visual Basic for Applications) verwenden. Folge dieser Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und gehe zu dem Tabellenblatt, in dem Du die automatische Änderung implementieren möchtest.

  2. Rechtsklicke auf das Tabellenblatt und wähle „Code anzeigen“ aus dem Kontextmenü.

  3. Füge den folgenden VBA-Code in das sich öffnende Fenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Count = 1 Then
           Select Case Target.Value
               Case 1
                   Target = "München"
               Case 2
                   Target = "Berlin"
               Case 3
                   Target = "Hamburg"
               Case Else
                   Target = "keine gültige Eingabe"
           End Select
       End If
    End Sub
  4. Schließe das VBA-Editorfenster und kehre zurück zu Deinem Excel-Blatt.

  5. Teste die Eingabe, indem Du eine Zahl in die Zelle eingibst und die Eingabe mit der Eingabetaste bestätigst. Nach dem Verlassen der Zelle sollte der entsprechende Stadtname angezeigt werden.


Häufige Fehler und Lösungen

  • Fehler: Die Eingabe wird nicht übernommen.

    • Lösung: Stelle sicher, dass der VBA-Code korrekt in das richtige Tabellenblatt eingefügt wurde und dass Du die Makros aktiviert hast.
  • Fehler: Es wird die falsche Stadt angezeigt.

    • Lösung: Überprüfe den VBA-Code und stelle sicher, dass die Ziffern den richtigen Städten zugeordnet sind.
  • Fehler: Die Zelle bleibt leer.

    • Lösung: Achte darauf, dass Du eine gültige Zahl von 1 bis 3 eingibst. Bei anderen Eingaben wird die Nachricht „keine gültige Eingabe“ angezeigt.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, gibt es auch andere Möglichkeiten:

  • Datenvalidierung: Du kannst eine Dropdown-Liste erstellen, aus der Du die Städte auswählen kannst:

    1. Wähle die Zelle aus, in der Du die Liste erstellen möchtest.
    2. Gehe zu „Daten“ > „Datenüberprüfung“.
    3. Wähle „Liste“ und gib die Städte ein, die angezeigt werden sollen.
  • Autokorrektur: Du kannst in „Extras“ > „AutoKorrektur“ bestimmte Abkürzungen oder Ziffern definieren, die automatisch in die gewünschten Stadtbezeichnungen umgewandelt werden.


Praktische Beispiele

Hier sind einige Beispiele, wie Du den VBA-Code erweitern kannst:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 Then
        Select Case Target.Value
            Case 1
                Target = "München"
            Case 2
                Target = "Berlin"
            Case 3
                Target = "Hamburg"
            Case 4
                Target = "Köln"
            Case 5
                Target = "Frankfurt"
            Case Else
                Target = "keine gültige Eingabe"
        End Select
    End If
End Sub

Mit diesem erweiterten Beispiel kannst Du bis zu fünf Städte automatisch einfügen.


Tipps für Profis

  • Verwende Error-Handling: Implementiere Error-Handling im VBA-Code, um unerwartete Fehler abzufangen.
  • Aktiviere Makros: Stelle sicher, dass Du die Makros in Excel aktivierst, um die Funktionen zu nutzen.
  • Dokumentiere Deinen Code: Kommentiere Deinen VBA-Code, um die Funktionsweise für Dich und andere Benutzer verständlich zu halten.

FAQ: Häufige Fragen

1. Frage Kann ich diesen VBA-Code auch in Excel 365 verwenden? Antwort: Ja, dieser Code funktioniert auch in Excel 365. Stelle sicher, dass Du die entsprechenden Berechtigungen für Makros hast.

2. Frage Wie kann ich den Code anpassen, um mehr Städte hinzuzufügen? Antwort: Du kannst einfach weitere „Case“-Anweisungen im „Select Case“-Block hinzufügen, um zusätzliche Städte zu definieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige