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

Forumthread: Zellen basierend auf Inhalt anderer Zelle fuellen

Zellen basierend auf Inhalt anderer Zelle fuellen
15.01.2015 14:34:28
Marvin
Hallo zusammen,
mir gehen langsam die Ideen aus, nach was ich im Internet suchen koennte, um mein Problem zu loesen.
Ich habe folgende Situation:
Es handelt sich um eine Excel Tabelle mit ca. 20 Spalten, von denen 2 komplett ohne Inhalt sind, die aber beide nach demselben Schema gefuellt werden sollen.
Am Beispiel einer der beiden Spalten:
Spalte B enthaelt IDs von Herstellern, Spalte C ist leer, soll aber anhand der ID mit dem Herstellernamen zu dem jeweiligen Produkt(sprich, es muss jede Zeile einzeln gecheckt werden), gefuellt werden.
Hier der Urzustand und der Wunschzustand zur Veranschaulichung:
Userbild
Userbild
Laesst sich das irgendwie ueber VBA automatisieren?

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen basierend auf Inhalt anderer Zelle fuellen
15.01.2015 14:37:44
Klaus
Hi Marvin,
von dem was du zeigst würd ich sagen, es ist ein Fall für SVERWEIS und nicht für VBA.
Wo steht denn, dass Hersteller ID 112 den Namen "A" generieren soll? Die Info muss ja irgendwo her kommen. Bitte lade eine Musterdatei hoch!
Grüße,
Klaus M.vdT.

AW: Zellen basierend auf Inhalt anderer Zelle fuellen
15.01.2015 14:46:07
Marvin
Hi Klaus,
das wurde bisher auch immer, wie der ganze Prozess auch, von Hand gemacht. Es handelt sich lediglich um 3 verschiedene Hersteller, die der Lesbarkeit halber mit Namen aufgefuehrt werden.
Gibt es keine Moeglichkeit einfach per Makro anzuweisen,
Schaue dir Spalte B an,
wenn ID=1, dann fuege HerstellerA in die Zelle rechts daneben ein,
wenn ID=2, dann fuege HerstellerB in die Zelle rechts daneben ein,
.
.
.
Vielen Dank!
Marvin

Anzeige
AW: Zellen basierend auf Inhalt anderer Zelle fuellen
15.01.2015 14:52:45
Marvin
Hi Klaus,
der Prozess wurde bis dato meines Wissens auch so abgewickelt, soll aber komplett automatisiert werden.
Es handelt sich lediglich um 3 verschiedene Hersteller.
Gibt es denn keine Moeglichkeit per VBA folgendes zu definieren?
Schaue in Spalte B(ID)
Wenn Zelleninhalt=1, dann schreibe Hersteller A in Zelle rechts daneben,
Wenn Zelleninhalt=2, dann schreibe Hersteller B in Zelle rechts daneben,
.
.
.
Vielen Dank!
Marvin

Anzeige
AW: Zellen basierend auf Inhalt anderer Zelle fuellen
15.01.2015 15:01:15
Klaus
Bitte sehr, per VBA.
Sub Hersteller()
Const SpalteID As Long = 2
Const SpalteName As Long = 3
Const ZeileAb As Long = 2
Dim ZeileBis As Long
Dim i As Long
Dim s As String
ZeileBis = Cells(Rows.Count, SpalteID).End(xlUp).Row
For i = ZeileAb To ZeileBis
Select Case Cells(i, SpalteID).Value
Case 112: s = "A"
Case 117: s = "B"
Case 130: s = "C"
Case 142: s = "D"
Case Else: s = "?"
End Select
Cells(i, SpalteName).Value = s
Next i
End Sub

einfacher per Formel ab C2:
=WENNFEHLER(WAHL(VERGLEICH(B2;{112;117;130;142};);"A";"B";"C";"D");"?")
runterkopieren, markieren, kopieren, Inhalte einfügen.
Grüße,
Klaus M.vdT.

Anzeige
AW: Zellen basierend auf Inhalt anderer Zelle fuellen
15.01.2015 15:26:22
Marvin
Perfekt, danke!

Danke für die Rückmeldung! owT.
15.01.2015 15:39:29
Klaus
.

AW: Danke für die Rückmeldung! owT.
15.01.2015 16:00:15
Marvin
Einmal brauche ich noch deine Hilfe :D
Wie schaffe ich es denn, den Code, den Du mir geschickt hast in einer anderen, bereits geoeffneten Datei namens Zieldatei.xlsx auszufuehren?
Tausend Dank!

Anzeige
Hm?
15.01.2015 16:03:13
Klaus
Hallo Marvin,
kopiere den Code in die Zieldatei und führe ihn dort aus. Danach kannst du ihn wieder löschen, oder es lassen (bei einer xlsx wird der ja eh nicht gespeichert).
Grüße,
Klaus M.vdT.

AW: Zellen basierend auf Inhalt anderer Zelle fuellen
15.01.2015 15:03:32
Marvin
Aber wobei, Du hast mich auf eine Idee gebracht.
Es muesste sich doch so umsetzen lassen, dass ich eine Tabelle erstellen lasse, auf die ich dann per SVERWEIS, den ich ich mein Makro einbaue, zugreifen lasse, oder?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Zellen basierend auf Inhalt anderer Zelle füllen


Schritt-für-Schritt-Anleitung

Um eine Excel-Zelle automatisch auszufüllen, wenn eine andere Zelle einen bestimmten Wert hat, kannst du die folgenden Schritte befolgen:

  1. Öffne deine Excel-Datei und stelle sicher, dass die Spalten, die du verwenden möchtest, bereit sind. In diesem Beispiel nehmen wir an, Spalte B enthält die Hersteller-IDs und Spalte C ist leer.

  2. Verwende die Formel in der Zelle C2:

    =WENNFEHLER(WAHL(VERGLEICH(B2;{112;117;130;142};);"A";"B";"C";"D");"?")

    Diese Formel überprüft den Wert in Zelle B2 und gibt den entsprechenden Herstellernamen in Zelle C2 zurück.

  3. Kopiere die Formel nach unten in die restlichen Zellen von Spalte C, um alle Hersteller-ID zu überprüfen.

  4. Für VBA-Nutzer: Du kannst auch ein Makro verwenden, um die Zellen automatisch auszufüllen. Hier ist ein Beispiel:

    Sub Hersteller()
       Const SpalteID As Long = 2
       Const SpalteName As Long = 3
       Const ZeileAb As Long = 2
       Dim ZeileBis As Long
       Dim i As Long
       Dim s As String
       ZeileBis = Cells(Rows.Count, SpalteID).End(xlUp).Row
       For i = ZeileAb To ZeileBis
           Select Case Cells(i, SpalteID).Value
               Case 112: s = "A"
               Case 117: s = "B"
               Case 130: s = "C"
               Case 142: s = "D"
               Case Else: s = "?"
           End Select
           Cells(i, SpalteName).Value = s
       Next i
    End Sub

Häufige Fehler und Lösungen

  • Fehler: #NV in der Formel
    Lösung: Stelle sicher, dass die ID in Spalte B tatsächlich in der Liste der Werte in der VERGLEICH-Funktion vorhanden ist. Andernfalls wird der Fehler #NV angezeigt.

  • Fehler: Falsche Werte in Spalte C
    Lösung: Überprüfe die Werte in Spalte B, um sicherzustellen, dass sie korrekt sind. Wenn die IDs nicht stimmen, wird auch das Ergebnis falsch sein.


Alternative Methoden

  1. SVERWEIS verwenden: Du kannst auch die SVERWEIS-Funktion nutzen, um die Herstellernamen aus einer separaten Tabelle zu ziehen.

    =SVERWEIS(B2;Tabelle2!A:B;2;FALSCH)

    In diesem Beispiel wird angenommen, dass die Hersteller-IDs in Tabelle2 in Spalte A und die Namen in Spalte B stehen.

  2. Zellen in Excel zusammenführen: Wenn du die Werte aus mehreren Zellen kombinieren möchtest, kannst du die Funktion VERKETTEN oder den &-Operator verwenden:

    =B2 & " - " & C2

Praktische Beispiele

  • Beispiel 1: Du hast eine Liste von Produkten und deren IDs. Du möchtest die Herstellernamen automatisch in einer neuen Spalte ausfüllen, basierend auf den IDs.

  • Beispiel 2: Wenn du mehrere Hersteller hast, kannst du die WAHL-Funktion in Kombination mit VERGLEICH verwenden, um eine schnelle Zuordnung zu ermöglichen.


Tipps für Profis

  • Verwende benannte Bereiche: Definiere benannte Bereiche für deine Daten, um die Lesbarkeit der Formeln zu verbessern.

  • Fehlerüberprüfung: Setze WENNFEHLER ein, um sicherzustellen, dass deine Formeln auch bei fehlerhaften Daten robust bleiben.

  • Automatisiere mit VBA: Wenn du regelmäßig ähnliche Aufgaben hast, erstelle ein VBA-Makro, um den Prozess zu automatisieren.


FAQ: Häufige Fragen

1. Wie kann ich die Formel in eine andere Excel-Datei übertragen?
Du kannst die Formel einfach kopieren und in die gewünschte Datei einfügen. Achte darauf, dass die Zellreferenzen korrekt sind.

2. Ist es möglich, die Zellen automatisch auszufüllen, ohne eine Formel zu verwenden?
Ja, du kannst dies mit VBA tun, indem du ein Makro erstellst, das die Werte basierend auf den IDs einfügt, wie im oben genannten Beispiel gezeigt.

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