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

Forumthread: Eingabe ersetzen/austauschen

Eingabe ersetzen/austauschen
22.12.2012 16:06:47
Burghard
Hallo,
ich suche eine Lösung für dieses Problem:
In den Zellen X2 bis X17 habe ich Namen stehen, daneben in Zelle Y2 bis Y17 steht die laufende Nummerierung (1 bis 16).
Wenn ich in Zelle T2 nun die Zahl "1" eingebe, dann möche ich, dass dort in Zelle T2 der Name aus Zelle X2 erscheint, d.h. dass meine Zahl "1" durch den Namen aus der Zelle X2 automatisch ersetzt werden soll.
Gebe ich beispielsweise in Zelle T2 die Zahl 5 ein, dann möchte ich, dass dort der Name aus Zelle X6 erscheint.
Das soll für den Zellbereich "T2 bis T17" so funktionieren.
Ich möchte diese vereinfachte Eingabe mittels Zahl, damit ich nicht immer die Namen komplett tippen muss.
Hilfe/Lösung wäre nett.
Schönen Gruß
Burghard

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabe ersetzen/austauschen
22.12.2012 16:27:10
Tino
Hallo,
kannst mal so versuchen.
Kommt als Code in die entsprechende Tabelle!
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim varRow 
If Intersect(Range("T2"), Target) Is Nothing Then Exit Sub 
Application.EnableEvents = False 
    With Range("X2:Y500") 
        varRow = Application.Match(Range("T2"), .Columns(2), 0) 
        If IsNumeric(varRow) Then 
            Range("T2").Value = .Columns(1).Cells(varRow, 1).Value 
        Else 
            Range("T2").Value = Empty 
        End If 
    End With 
Application.EnableEvents = True 
End Sub 
 
Gruß Tino

Anzeige
AW: Eingabe ersetzen/austauschen
22.12.2012 16:35:09
Burghard
Hallo Tino,
das klappt in Zelle T2 wie gewünscht. Kannst Du das Makro noch so umschreiben, dass es in den Zellen T3 ... bis T17 auch so funktioniert?
Schönen Gruß
Burghard

AW: Eingabe ersetzen/austauschen
22.12.2012 16:52:02
Tino
Hallo,
auch kein Problem, müsste so gehen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim varRow, rngBereich As Range
Set rngBereich = Intersect(Range("T2:T17"), Target)
If rngBereich Is Nothing Then Exit Sub
Application.EnableEvents = False
    With Range("X2:Y17")
        For Each rngBereich In rngBereich.Cells
            varRow = Application.Match(rngBereich.Value, .Columns(2), 0)
            If IsNumeric(varRow) Then
                rngBereich.Value = .Columns(1).Cells(varRow, 1).Value
            Else
                rngBereich.Value = Empty
            End If
        Next rngBereich
    End With
Application.EnableEvents = True
End Sub
Gruß Tino

Anzeige
AW: Klapp prima!
22.12.2012 17:19:13
Burghard
Hallo Tino,
klappt astrein! Danke!
Grüße
Burghard
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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