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

SVERWEISE finden und durch Werte ersetzen

Forumthread: SVERWEISE finden und durch Werte ersetzen

SVERWEISE finden und durch Werte ersetzen
grexx123
HAllo,
wie schon im Betreff beschrieben suche ich ein VBA-Schnipsel, das
1. Alle Sverweise sucht
2. Zellen, in denen ein SVERWEIS steht, mit "Wert" füttern (also kopieren und als Wert einfügen)
Ich weiß, dass man Verknüpfungen lösen kann, jedoch habe ich sowohl die Formel als auch die Tabelle auf die verwiesen wird in EINER Datei - und da dürfte es nicht funktionieren...
Weiß jemand, wie das geht?
Danke im Voraus
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
SVERWEISE in Werte
08.03.2010 13:25:36
Rudi
Hallo,
Sub tt()
Dim rngC As Range
Application.ScreenUpdating = False
For Each rngC In Cells.SpecialCells(xlCellTypeFormulas)
If LCase(Mid(rngC.Formula, 2, 7)) = "vlookup" Then rngC = rngC.Value
Next
Application.ScreenUpdating = True
End Sub

Gruß
Rudi
Anzeige
AW: SVERWEISE in Werte
08.03.2010 13:44:45
grexx123
Hallo Rudi,
Danke erstmal für die schnelle Antwort - ich habe da aber glaube ich noch 2 kleine Probleme:
1. Es beginnt nicht mit SVERWEIS, sondern meistens ist der SVERWEIS in irgendwelchen Wenn-Bedingungen verschachtelt
2. Wie funktioniert das, wenn ich mit deutscher (SVERWEIS) und meine Kollegen teilweise mit englischer (VLOOKUP) Schreibweise arbeiten?
Danke,
Grexx123
Anzeige
AW: SVERWEISE in Werte
08.03.2010 13:55:03
Rudi
Hallo,
1. ersetzt, wenn irgendwo in der Formel ein sverweis steht:
Sub tt()
Dim rngC As Range, rngF As Range
Application.ScreenUpdating = False
On Error Resume Next
Set rngF = Cells.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
If Not rngF Is Nothing Then
For Each rngC In Cells.SpecialCells(xlCellTypeFormulas)
If InStr(LCase(rngC.Formula), "vlookup") > 0 Then rngC = rngC.Value
Next
End If
Application.ScreenUpdating = True
End Sub

2. total egal. Selbst wenn du eine japanische Version hast ist sverweis in VBA immer vlookup. Ich hab ja auch ne deutsche und suche vlookup.
Gruß
Rudi
Anzeige
[gelöst]: SVERWEISE in Werte
08.03.2010 13:57:52
grexx123
Wahnsinn, das hat funktioniert!!!!!
Dankbar neige ich mein Haupt vor dir und wünsche dir noch eine schöne Woche!
lg
AW: SVERWEISE in Werte
08.03.2010 13:55:28
Renee
Hi Grexx123,
Wie kommst du auf VBA gut ?
Formeln sind in der .Formula-Eigenschaft immer nur english abgelegt! Damit werden babylonische Verhältnis soweit wie mögl. vermieden!
Was soll den im Fall einer Teilformel (=IF(Blabal=1232;VLOOKUP(blalb,blabereich...))) aufgelöst werden?
Die Ganze Formel oder nur das Resultat aus dem VLOOKUP, d.h. die TeilFormel ?
GreetZ Renée
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

SVERWEISE finden und durch Werte ersetzen


Schritt-für-Schritt-Anleitung

Um alle SVERWEISE in einer Excel-Datei zu finden und durch Werte zu ersetzen, kannst du den folgenden VBA-Code verwenden. Dieser Code sucht nach SVERWEIS-Formeln und ersetzt sie durch ihre Werte:

Sub tt()
    Dim rngC As Range, rngF As Range
    Application.ScreenUpdating = False
    On Error Resume Next
    Set rngF = Cells.SpecialCells(xlCellTypeFormulas)
    On Error GoTo 0
    If Not rngF Is Nothing Then
        For Each rngC In Cells.SpecialCells(xlCellTypeFormulas)
            If InStr(LCase(rngC.Formula), "vlookup") > 0 Then rngC = rngC.Value
        Next
    End If
    Application.ScreenUpdating = True
End Sub

Dieser Code funktioniert unabhängig von der Sprache deiner Excel-Version. Selbst wenn du mit der deutschen Schreibweise (SVERWEIS) arbeitest, wird die Formel in VBA als VLOOKUP behandelt.


Häufige Fehler und Lösungen

  • Fehler: Der Code findet keine SVERWEISE.

    • Lösung: Stelle sicher, dass die Formeln in der Tabelle tatsächlich SVERWEISE oder VLOOKUPs enthalten. Überprüfe, ob die Zellen Formeln sind.
  • Fehler: Der Code funktioniert nicht bei verschachtelten Formeln.

    • Lösung: Der aktuelle Code sucht nur nach VLOOKUPs. Wenn du verschachtelte SVERWEISE oder WENN-Bedingungen hast, benötigst du eine angepasste Logik, die alle Teile der Formel überprüft.

Alternative Methoden

Eine alternative Methode ist das manuelle Suchen und Ersetzen der Formeln. Du kannst die Funktion „Suchen und Ersetzen“ in Excel verwenden:

  1. Drücke Strg + F, um das Suchfeld zu öffnen.
  2. Gehe auf „Ersetzen“.
  3. Gib „SVERWEIS“ oder „VLOOKUP“ ein (je nach Sprache).
  4. Ersetze es durch den gewünschten Wert.

Diese Methode ist einfach, aber weniger effizient bei vielen Formeln.


Praktische Beispiele

Wenn du eine Tabelle mit SVERWEIS-Formeln hast, die nach bestimmten Werten sucht, könnte ein Beispiel wie folgt aussehen:

  • Beispiel: In Zelle B2 steht die Formel =SVERWEIS(A2;Daten!$A$1:$C$10;2;FALSCH). Der VBA-Code ersetzt diese Formel durch den entsprechenden Wert aus der Tabelle, sodass B2 nur den Wert anzeigt.

Wenn du mit internationalen Kollegen arbeitest, die möglicherweise die englische Version (VLOOKUP) verwenden, wird der VBA-Code dennoch funktionieren, da er beide Schreibweisen unterstützt.


Tipps für Profis

  • Nutze die Möglichkeit, VBA-Makros zu speichern, um die Automatisierung zu verbessern.
  • Achte darauf, immer eine Sicherungskopie deiner Daten zu erstellen, bevor du Massenänderungen vornimmst.
  • Experimentiere mit der VBA-Syntax, um das Script an deine speziellen Bedürfnisse anzupassen, z.B. beim Suchen von „blalb“ in Formeln.

FAQ: Häufige Fragen

1. Wie kann ich SVERWEISE in einer anderen Sprache finden? Du kannst den VBA-Code anpassen, um nach der entsprechenden Funktion zu suchen, z.B. VLOOKUP für Englisch oder SVERWEIS für Deutsch.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen.

3. Was passiert, wenn ich Formeln mit verschiedenen Sprachen mische? Die VBA-Umgebung behandelt die Formeln in der Sprache, die du in der Excel-Version verwendest. Du musst sicherstellen, dass du die richtige Schreibweise verwendest, wenn du den Code anpasst.

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