Collapse column

Autor Thema: Office 2007: Exceltabelle mit Werten statt mit Formeln speichern  (Gelesen 3675 mal)

Offline medic

  • Newbie
  • *
  • Beiträge: 37
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
Office 2007: Exceltabelle mit Werten statt mit Formeln speichern
« am: Dezember 19, 2011, 16:17:20 Nachmittag »
Hallo,
ich habe folgendes Script, das ein Tabellenblatt als neue Datei speichern soll. Allerdings sollen die Werte und nicht die Formeln gespeichert werden. Wenn ich nun speichere, wird in alle Zellen der Wert 0 geschrieben, in denen vorher Formelergebnisse standen?!?!?!
Hat jemand eine Idee, wo mein Fehler liegt?

Sub TABs_Export()
Dim vntBlaetter As Variant
Dim sPfad As String
Dim ws As Worksheet
Dim wbkNeu As Workbook

sPfad = Worksheets("Master").Range("R3") '** Pfadangabe wo und mit welchem Namen gespeichert werden soll

vntBlaetter = Array("Klinik Gesamt") '** Angabe von mehreren Blätter möglich
Sheets(vntBlaetter).Copy
With ActiveWorkbook
For Each ws In .Worksheets
With ws.UsedRange
.Value = .Value
End With
Next
On Error GoTo ENDE
Application.DisplayAlerts = False
.SaveAs sPfad, xlNormal
.Close False
End With
ENDE:
Application.DisplayAlerts = True
End Sub

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Officer

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 59.503
    • Profil anzeigen
    • Excel-Inside Solutions
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2019 / Office 365
Antw:Office 2007: Exceltabelle mit Werten statt mit Formeln speichern
« Antwort #1 am: Dezember 19, 2011, 20:08:32 Nachmittag »
Hallo medic,

ich habe den Code ganz leicht modifiziert. Aber es hätte auch bereits mit deinem Makro funktionieren sollen:

Hier noch mal der leicht angepasste VBA-Code:

Code: Visual Basic
  1. Sub TABs_Export()
  2. Dim vntBlaetter As Variant
  3. Dim sPfad As String
  4. Dim ws As Worksheet
  5. Dim wbkNeu As Workbook
  6.  
  7. sPfad = Worksheets("Master").Range("R3") '** Pfadangabe wo und mit welchem Namen gespeichert werden soll
  8.  
  9. vntBlaetter = Array("Klinik Gesamt") '** Angabe von mehreren Blätter möglich
  10. Sheets(vntBlaetter).Copy
  11. With ActiveWorkbook
  12.   For Each ws In .Worksheets
  13.     With ws.UsedRange
  14.     .Value = .Value
  15.     End With
  16.   Next
  17.  
  18.   'On Error GoTo ENDE
  19.  Application.DisplayAlerts = False
  20. End With
  21.  
  22.  
  23.   ActiveWorkbook.SaveAs sPfad
  24.   ActiveWorkbook.Close False
  25.  
  26.  
  27. ENDE:
  28. Application.DisplayAlerts = True
  29. End Sub
  30.  
  31.  

Als Anlage habe ich die Beispieldatei beigefügt. Es wird im Verzeichnis c:\tmp eine neue Datei erzeugt, in der ausschließlich Werte enthalten sind.

Viele Grüße

Officer
Weitere Informationen, Tipps & Tricks findest du auf Excel-Inside.de
Bitte erfolgreich beantwortete Fragen als gelöst kennzeichnen -  zur Anleitung

Offline medic

  • Newbie
  • *
  • Beiträge: 37
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
Office 2007: Antw:Office 2007: Exceltabelle mit Werten statt mit Formeln speichern
« Antwort #2 am: Dezember 20, 2011, 11:33:21 Vormittag »
Danke für die Überarbeitung des Codes. Dein Beispiel funktioniert bei mir.
Wenn ich den Code bei mir einfügen, funktioniert es nicht. Suspekt.
In meiner Datei werden die Werte in den Zellen über eine Wenn-Funktion (=WENNFEHLER(WENN(Master!A45="X";INDIREKT(VERKETTEN($A50;"!";"C";$C50));"");0))erstellt, die u.a. eine Indirekt-Funktion beinhaltet. Die Werte werden aus weiteren Arbeitsblätter durch eine Zelle (Markierung durch "X") zusammengefügt.
Wenn ich den export-code nutze, wird in alle Zellen eine 0 geschrieben  >:( :(

Offline medic

  • Newbie
  • *
  • Beiträge: 37
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
Antw:Office 2007: Antw:Office 2007: Exceltabelle mit Werten statt mit Formeln speichern
« Antwort #3 am: Dezember 20, 2011, 11:52:35 Vormittag »
Danke für die Überarbeitung des Codes. Dein Beispiel funktioniert bei mir.
Wenn ich den Code bei mir einfügen, funktioniert es nicht. Suspekt.
In meiner Datei werden die Werte in den Zellen über eine Wenn-Funktion (=WENNFEHLER(WENN(Master!A45="X";INDIREKT(VERKETTEN($A50;"!";"C";$C50));"");0))erstellt, die u.a. eine Indirekt-Funktion beinhaltet. Die Werte werden aus weiteren Arbeitsblätter durch eine Zelle (Markierung durch "X") zusammengefügt.
Wenn ich den export-code nutze, wird in alle Zellen eine 0 geschrieben  >:( :(

So, jetzt wird es ganz suspekt. Ich habe ein neues Arbeitsblatt eingefügt und es "Klink Gesamt2" genannt. Dort in jede Zelle ='Klinik Gesamt'!*Zelle* und die gleiche Zelle angegeben, also eine "Kopie" des ersten Arbeitsblattes erstellt. Dann funktioniert der Export perfekt (auch mit meinem bisherigen Code!). Sehe ich im Moment als Notlösung an, aber kann es das sein?

Offline Officer

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 59.503
    • Profil anzeigen
    • Excel-Inside Solutions
  • Office-KnowHow: Profi
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2019 / Office 365
Antw:Office 2007: Exceltabelle mit Werten statt mit Formeln speichern
« Antwort #4 am: Dezember 20, 2011, 11:57:55 Vormittag »
Hallo Medic,

dafür fehlt mir jetzt auch die Erklärung.
Aber hin und wider hilft es, ein Arbeitsblatt zu duplizieren. Hatte gestern eine ähnliche Erfahrung und zwar, nachdem ich die Arbeitsmappe mit Excel 2010 geöffnet hatte, waren unter Excel 2003 ganz seltsame Phänomene. Erst nachdem ich das Arbeitsblatt kopiert hatte, lief wieder alles einwandfrei.

Gruß

Officer
Weitere Informationen, Tipps & Tricks findest du auf Excel-Inside.de
Bitte erfolgreich beantwortete Fragen als gelöst kennzeichnen -  zur Anleitung

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.