VBA SVERWEIS löschen
Betrifft: VBA SVERWEIS löschen
von: Uwe
Geschrieben am: 17.08.2014 08:26:58
Hallo,
habe eine Tabelle mit mehreren SVERWEIS'en aus einer anderen Arbeitsmappe.
Diese Tabelle soll anderen Nutzern zugestellt werden.
In der zu übergebenden Tabelle sollen nur die Inhalte der Verweise stehen.
Zusätzlich befinden sich aber in der Tabelle einfache Formeln, welche aber bleiben sollen.
Habe folgendes Makro, welches alle Formeln löscht.
Public Sub Formeln_entfernen_Inhalt_behalten()
Dim rngZelle As Range
Dim lngAnz As Long
For Each rngZelle In ThisWorkbook.ActiveSheet.UsedRange
'prüfen ob Zelle eine Formel enthält
If rngZelle.HasFormula = True Then
rngZelle = rngZelle.Value
lngAnz = lngAnz + 1
End If
Next rngZelle
MsgBox lngAnz & " Formeln entfernt", , ""
End Sub
Wie lautet der Befehl welcher die Sverweise löscht, aber die Formeln beibehält.
vielen Dank im voraus
Uwe
Betrifft: If Left(rngZelle.Formula, 8) = "=VLOOKUP"
von: Matthias L
Geschrieben am: 17.08.2014 09:30:47
Hallo Uwe
Frag doch einfach ab ob die Formel mit SVerweis beginnt.
'prüfen ob Zelle eine Formel enthält
If rngZelle.HasFormula = True Then
MsgBox rngZelle.Formula
If Left(rngZelle.Formula, 8) = "=VLOOKUP" Then
MsgBox "SVerweisFormel in: " & rngZelle.Address
End If
'rngZelle = rngZelle.Value
'lngAnz = lngAnz + 1
End If
Komplett dann so:
Option Explicit
Sub Formeln_entfernen_Inhalt_behalten()
Dim rngZelle As Range
Dim lngAnz As Long
For Each rngZelle In ThisWorkbook.ActiveSheet.UsedRange
'prüfen ob Zelle eine Formel enthält
If rngZelle.HasFormula = True Then
If Left(rngZelle.Formula, 8) = "=VLOOKUP" Then
rngZelle = rngZelle.Value
lngAnz = lngAnz + 1
End If
End If
Next rngZelle
MsgBox lngAnz & " Formeln entfernt", , ""
End Sub
Gruß Matthias
Betrifft: AW: If Left(rngZelle.Formula, 8) = "=VLOOKUP"
von: Uwe
Geschrieben am: 17.08.2014 10:03:46
Danke für die schnelle Antwort,
Das Makro löscht aber auch die Formeln in den anderen Zellen.
Die Formeln sollen aber bleiben
Public Sub SVERWEIS_entfernen_Inhalt_behalten()
Dim rngZelle As Range
Dim lngAnz As Long
For Each rngZelle In ThisWorkbook.ActiveSheet.UsedRange
'prüfen ob Zelle einen SVERWEIS enthält
If rngZelle.HasFormula = True Then
MsgBox rngZelle.Formula
If Left(rngZelle.Formula, 8) = "=VLOOKUP" Then
MsgBox "SVerweisFormel in: " & rngZelle.Address
End If
rngZelle = rngZelle.Value
lngAnz = lngAnz + 1
End If
Next rngZelle
MsgBox lngAnz & " Formeln entfernt", , ""
End Sub
Betrifft: AW: If Left(rngZelle.Formula, 8) = "=VLOOKUP"
von: Uwe
Geschrieben am: 17.08.2014 10:09:15
Entschuldigung,
habe nicht Dein komplettes Makro genommen.
Dein Makro funktioniert doch einwandfrei.
nochmals vielen Dank
Uwe
Betrifft: Danke für die :-) Rückmeldung ... owT
von: Matthias L
Geschrieben am: 17.08.2014 10:31:22
Beiträge aus den Excel-Beispielen zum Thema "VBA SVERWEIS löschen"