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

Forumthread: sverweis: Zellwert und Formel übernehmen

sverweis: Zellwert und Formel übernehmen
10.09.2004 07:38:29
Dani
Guten Tag allerseits
Ist es möglich, anhand des sverweis-Befehls neben dem Zellwert ebenfalls die Formel zu übernehmen?
Beispiel:
Formel in Zelle C5: =SVERWEIS(a2;[xy.xls]xyz!$A:$L;5;FALSCH)
Mit dieser Formel wird der Wert aus xy.xls in C5 eingetragen.
Nun möchte ich, dass in Zelle C5 der Wert UND zusätzlich die Formel aus xy.xls übernommen wird.
Vielen Dank & Gruss
Dani
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sverweis: Zellwert und Formel übernehmen
Andreas
Hi Dani,
tja, da hast du mir eine nette kleine Kopfnuss gegeben für heute abend, musste selbst erst mal recherchieren, wie man das am besten angeht ;-) Mit dem normalen SVERWEIS aus Excel kommst du da nicht weiter, das geht nur mit einer benutzerdefinierten Funktion in VBA. Ich habe mir mal die Mühe gemacht, dir so eine Funktion zusammen zu basteln. Schau dir einfach mal diese Datei hier an:
https://www.herber.de/bbs/user/10777.xls
Dort gibt es eine neue Funktion SVERWEISExtended mit der du dann nicht nur den Zellinhalt, sondern auch die zugehörige Formel angezeigt bekommst. Der VBA-Quelltext sollte nicht schwer anzupassen sein.
Hoffe das hilft dir weiter ...
Grüße
Andreas
Anzeige
AW: sverweis: Zellwert und Formel übernehmen
13.09.2004 11:10:56
Dani
Hallo Andreas
Besten Dank für Deine Antwort! Werde mich mal dranmachen und schauen, ob ich es für mein File hinkriege.
Gruss
Dani
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Zellwert und Formel mit SVERWEIS übernehmen


Schritt-für-Schritt-Anleitung

Um sowohl den Zellwert als auch die Formel aus einer anderen Excel-Datei mit SVERWEIS zu übernehmen, benötigst du eine benutzerdefinierte Funktion in VBA. Hier sind die Schritte:

  1. Öffne deine Excel-Arbeitsmappe.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden VBA-Code ein:

    Function SVERWEISExtended(lookup_value As Variant, table_array As Range, col_index_num As Integer, Optional range_lookup As Boolean = False) As Variant
       Dim result As Variant
       result = Application.WorksheetFunction.VLookup(lookup_value, table_array, col_index_num, range_lookup)
       If Not IsError(result) Then
           Dim formula As String
           formula = Application.Index(table_array.Columns(col_index_num).Formula, Application.Match(lookup_value, table_array.Columns(1), 0))
           SVERWEISExtended = result & " (Formel: " & formula & ")"
       Else
           SVERWEISExtended = "Nicht gefunden"
       End If
    End Function
  5. Schließe den VBA-Editor und gehe zurück zu deiner Excel-Datei.

  6. Verwende die neue Funktion wie folgt in einer Zelle:

    =SVERWEISExtended(A2;[xy.xls]xyz!$A:$L;5;FALSCH)

Diese Funktion ermöglicht es dir, den Zellwert und die dazugehörige Formel aus der angegebenen Tabelle zu übernehmen.


Häufige Fehler und Lösungen

  • Fehler: "Nicht gefunden"

    • Lösung: Stelle sicher, dass der lookup_value tatsächlich in der ersten Spalte des table_array vorhanden ist.
  • Problem mit der Datei-Referenz

    • Lösung: Achte darauf, dass die Datei xy.xls geöffnet ist, während du die Funktion verwendest. Andernfalls kann Excel die Daten nicht abrufen.

Alternative Methoden

Wenn du keine VBA-Funktion verwenden möchtest, kannst du die Werte manuell aus der anderen Datei kopieren. Diese Methode ist jedoch weniger effizient und erfordert zusätzliche Schritte.

  1. Öffne die Quelle der Daten.
  2. Kopiere die Zelle, die du benötigst (z.B. C5).
  3. Füge die Zelle in deine Zielarbeitsmappe ein und wähle "Inhalte einfügen > Werte".

Diese Methode speichert jedoch nur den Zellwert und nicht die Formel.


Praktische Beispiele

Angenommen, du hast eine Excel-Datei Daten.xlsx mit folgendem Inhalt in den Zellen:

A B C
1 2 =A1+B1
2 3 =A2+B2

Wenn du die Funktion SVERWEISExtended in einer anderen Datei verwenden möchtest, könnte der Aufruf wie folgt aussehen:

=SVERWEISExtended(2;[Daten.xlsx]Tabelle1!$A$1:$C$2;3;FALSCH)

Dies gibt dir den Wert 5 (Formel: =A2+B2) zurück.


Tipps für Profis

  • Sichere deine Datei regelmäßig, bevor du Änderungen im VBA-Editor vornimmst.
  • Teste die Funktion zunächst mit einer kleinen Datenmenge, um sicherzustellen, dass sie wie gewünscht funktioniert.
  • Nutze die Excel-Dokumentation, um mehr über benutzerdefinierte Funktionen und die Verwendung von VBA zu erfahren.

FAQ: Häufige Fragen

1. Kann ich die SVERWEIS-Funktion auch ohne VBA nutzen?
Ja, aber du kannst nur den Zellwert übernehmen, nicht die Formel.

2. Was mache ich, wenn ich eine Fehlermeldung bekomme?
Überprüfe den lookup_value, die Datei-Referenz und ob die Datenquelle geöffnet ist.

3. Ist die benutzerdefinierte Funktion in jeder Excel-Version verfügbar?
Ja, solange du eine Version von Excel verwendest, die VBA unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige