Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel vba Bereich nur als Wert übernehmen
#1
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ß
Antworten Top
#2
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
Gruß der AlteDresdner (Win11, Off2021)
[-] Folgende(r) 1 Nutzer sagt Danke an AlterDresdner für diesen Beitrag:
  • HuHu_0000
Antworten Top
#3
Wow so schnell hatte ich nicht mit einer Lösung gerechnet.
Vielen Dank, funktioniert prima.
Antworten Top
#4
Aber gerne doch, Gruß der ALteDresdner
Gruß der AlteDresdner (Win11, Off2021)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste