Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

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"