Een tabblad opslaan

Status
Niet open voor verdere reacties.

jammi

Gebruiker
Lid geworden
30 mrt 2010
Berichten
62
Beste,

Ik zoek een mogelijkheid om 1 tabblad op te slaan uit een een excel file met een groot aantal tabbladen.
Dit tabblad bestaat ook uit formules die verwijzen naar andere tabbladen.
Nu zou ik de formules willen verwijderen zodat alleen de waarden in de cellen blijven staan.
Alvast bedankt
 
Dat kan met een klein stukje VBA.
Vervang "Blad1" door de naam van je werkblad:
Code:
Sub MaakKopie()
    Application.ScreenUpdating = False
    Sheets("Blad1").Copy
    For Each cl In ActiveSheet.Range(ActiveSheet.UsedRange.Address)
        If cl.HasFormula Then cl.Value = cl.Value
    Next cl
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ActiveSheet.Name & "_Geen_formules", 51
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Code:
Sub M_snb()
  sn = ActiveSheet.UsedRange

  With Workbooks.Add
    .Sheets(1).Cells(1).Resize(UBound(sn), UBound(sn, 2)) = sn
    .SaveAs "voorbeeld.xlsb", 50
    .Close
  End With
End Sub
of
Code:
Sub M_snb()
   ActiveSheet.Copy
   ActiveWorkbook.Sheets(1).UsedRange.Value = ActiveWorkbook.Sheets(1).UsedRange.Value
   ActiveWorkbook.SaveAs "QQvoorbeeld.xlsb", 50
   ActiveWorkbook.Close 0
End Sub
 
Laatst bewerkt:
Bedankt,

Beide werken prima, in combinatie met “activesheet”.

Super
 
Hoi,

Ik loop toch nog tegen een probleem.
Ik heb het excel sheet bijgevoegd.

De macro die werk prima, alleen wordt de hele file file opgeslagen.
Ik wil alleen 1 tabblad opslaan zonder de formules
zie het gedeelte van de macro

Alvast bedankt


Bestandxls = "D:\Documenten\TorqueReader Results XLS" & .Range("C2").Text & Format(Date, "_dd-MMM-yyyy") & ".xlsm"
ActiveWorkbook.SaveCopyAs Filename:=Bestandxls

ThisWorkbook.Activate
Range("C2").Select
 

Bijlagen

  • sheet (2022-11-22).xlsm
    144,1 KB · Weergaven: 10
In de voorbeelden die zijn gegeven staat nergens SaveCopyAs.
En ja, die slaat het hele document op.
Dus hoe kom je er bij om dat te gebruiken?
 
Dit bestand is een aantal jaren geleden gemaakt.
En nu zoude we dit willen wijzigen
 
Hoe je moet doen wat je wilt bereiken staan al mogelijkheden voor genoemd in #2 en #3.
 
Ik heb deze werken met onderstaand VBA

Alleen moet de format van de cellen behouden blijven zonder formules.
Via onderstaand heb ik alleen de gegevens zonder format



Code:
BestandXLS = "D:\Documenten\TorqueReader Results XLS" & .Range("C2").Text & Format(Date, "_dd-MMM-yyyy")
            sn = ActiveSheet.UsedRange

            With Workbooks.Add
              .Sheets(1).Cells(1).Resize(UBound(sn), UBound(sn, 2)) = sn
              .SaveAs BestandXLS, 51
              .Close
            End With
 
Laatst bewerkt door een moderator:
Die code doet niets met de cel opmaak.
En welk werkblad uit je voorbeeld document wil je dan opslaan?
 
Dan kan ieder willekeurig blad zijn uitgezonderd het voorblad
Dit is afhankelijk welk bereik geselecteerd is
 
Laatst bewerkt:
Kijk dan eens naar dit op het blad 0-24 oz-in:
 

Bijlagen

  • sheet (2022-11-22).xlsm
    143,8 KB · Weergaven: 20
De manier van opslaan is perfect.
De file is opgeslagen zoals ik zocht
alvast bedankt

Alleen wat ik wil wijzigen is, dat de file wordt opgeslagen in de directory D:\Documenten\TorqueReader Results XLS onder naam van de Cel C2 en &"_dd-mmm-yy" (bv " 060-155_12-nov-22")

In het onderstaande werd deze opgeslagen d.m.v. het rode script, alleen werd hier het hele bestand opgeslagen en niet alleen het actieve werkblad.
1 maal als PDF en 1 maal als xls bestand als het hele bestand.

Alvast bedankt

'Opslaan pad en filenaam

Code:
Bestand = "D:\Documenten\TorqueReader Results PDF" & .Range("C2").Text & Format(Date, "_dd-MMM-yyyy") & ".pdf"

            If Dir(Bestand, vbDirectory) = vbNullString Then
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Bestand
            
            [B][I][COLOR=#FF0000]Bestandxls = "D:\Documenten\TorqueReader Results XLS" & .Range("C2").Text & Format(Date, "_dd-MMM-yyyy") & ".xlsm"
            ActiveWorkbook.SaveCopyAs Filename:=Bestandxls[/COLOR][/I][/B]
                    
            ThisWorkbook.Activate
            Range("C2").Select
 
Laatst bewerkt door een moderator:
Dat kan je wijzigen in de code die ik je gaf in deze regel:
Code:
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & ActiveSheet.Name & "_Geen_formules", 51
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan