Clever-Excel-Forum

Normale Version: Excel vba Bereich nur als Wert übernehmen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich kenne mich in der Makro Programmierung nicht wirklich aus. Wenn dann suche ich mir die Teile aus dem Netz und versuche diese für meine Zwecke anzupassen.
Genau das habe ich auch mit diesem Code versucht. der Code selbst funktioniert super.

Bei dem Code gehts darum den bereich A4 bis Y500 einer *.xlsm in eine neue *.xlsx Datei ab bereich A1 einzufügen. das funktioniert auch.
Problem dabei ist nur das beim copieren die Formeln und nicht der Wert kopiert wird.

Wie kann ich den Code anpassen das nur der Wert des bereichs A4 bis Y500 kopiert wird?

Den ursprungscode habe ich von hier [url=https://stackoverflow.com/questions/44494115/copy-excel-range-to-new-xlsx-file][/url]stackoverflow.com.
Code:
Sub exportJuneCredit()
  Dim WkSht_Src  As Worksheet
  Dim WkBk_Dest  As Workbook
  Dim WkSht_Dest  As Worksheet
  Dim Rng As Range

  DateiName = Range("A1") & Range("L2") & " Import" & ".xlsx"
   
  Set WkSht_Src = ActiveSheet
      Set Rng = WkSht_Src.Range("A4:Y500")
          Set WkBk_Dest = Application.Workbooks.Add
              Set WkSht_Dest = WkBk_Dest.Worksheets(1)
                  Rng.Copy WkSht_Dest.Range("A1")
              Set WkSht_Dest = Nothing
              WkBk_Dest.SaveAs Filename:=DateiName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ' XlFileFormat.xlWorkbookNormal
              WkBk_Dest.Close 0
          Set WkBk_Dest = Nothing
      Set Rng = Nothing
  Set WkSht_Src = Nothing

End Sub

Vielen Dank.

Gruß
Hallo,
ersetze die Zeilen
Code:
             Set WkSht_Dest = WkBk_Dest.Worksheets(1)
                  Rng.Copy WkSht_Dest.Range("A1")
              Set WkSht_Dest = Nothing
durch
Code:
              Set WkSht_Dest = WkBk_Dest.Worksheets(1)
              Rng.Copy
              WkSht_Dest.Range("A1").PasteSpecial xlPasteValues
              Application.CutCopyMode = False
              Set WkSht_Dest = Nothing
Wow so schnell hatte ich nicht mit einer Lösung gerechnet.
Vielen Dank, funktioniert prima.
Aber gerne doch, Gruß der ALteDresdner