Geachte kenners,
Voor mijn werk heb ik een rekentool gemaakt waarmee je, hoe kan het ook anders, diverse berekeningen maakt. De uitkomsten die deze berekeningen geven worden weggeschreven naar een uitkomstenblad in de rekentool. Omdat de rekentool deel uitmaakt van een groter geheel (en dus ook wat meer mb's in neemt) kunnen mensen aan het eind het uitkomstenblad afzonderlijk opslaan. Hiervoor heb ik de volgende code geschreven (en gedeeltelijk overgenomen)
*Nu zal de code niet de schoonheidsprijs verdienen, maar ik doe mijn best :-S*
De code werkt prima, hij doet alles wat ik wil. Het probleem is alleen dat er een enorm (823kb) bestand ontstaat. Dit terwijl als je er voor kiest een dergelijke sheet zelf te maken deze slechts luttele (20kb) ruimte inneemt. Weten jullie wat ik fout doe? Moet ik andere vba code stopzetten?
Wie o wie heeft er een oplossing voor mij.
Groet,
Allard
Voor mijn werk heb ik een rekentool gemaakt waarmee je, hoe kan het ook anders, diverse berekeningen maakt. De uitkomsten die deze berekeningen geven worden weggeschreven naar een uitkomstenblad in de rekentool. Omdat de rekentool deel uitmaakt van een groter geheel (en dus ook wat meer mb's in neemt) kunnen mensen aan het eind het uitkomstenblad afzonderlijk opslaan. Hiervoor heb ik de volgende code geschreven (en gedeeltelijk overgenomen)
Code:
Sheets("A").Select
ActiveSheet.Unprotect "pw"
ActiveSheet.Range("B7:K6000").Select
Selection.Copy
Sheets("Opslaanblad").Select
Sheets("Opslaanblad").Range("A" & CStr(Rows.Count)).End(xlUp).Select
ActiveCell.Offset(0, 0).Select
ActiveCell.PasteSpecial xlPasteAll
'=================================Kopieëren en plakken B===================
Sheets("B").Select
ActiveSheet.Unprotect "pw"
ActiveSheet.Range("A6:N6000").Select
Selection.Copy
Sheets("Opslaanblad").Select
Sheets("Opslaanblad").Range("A" & CStr(Rows.Count)).End(xlUp).Select
ActiveCell.Offset(2, 0).Select
ActiveCell.PasteSpecial xlPasteAll
'=================================beveiliging op gebruikte sheets weer activeren=======
Sheets("A").Select
ActiveSheet.Protect "356b"
Sheets("B").Select
ActiveSheet.Protect "356b"
'================================Geplakte en gekopieerde gegevens extern opslaan=======
Dim Bedrijfsnaam
Set Bedrijfsnaam = Worksheets("Q").Range("A2")
Dim Naam_rekenaar
Set Naam_rekenaar = Worksheets("Z").Range("b7")
Dim Mydate
Mydate = Date
Dim Datumtekst
Datumtekst = CStr(Mydate)
Sheets("Opslaanblad").Select
Sheets("Opslaanblad").Copy
ChDir "G:\pad van opslaan"
ActiveWorkbook.SaveAs Filename:="G:\pad van opslaan" & " " & Naam_Muteerder & " " & Bedrijfsnaam & " " & Datumtekst, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
MsgBox "Je gegevens zijn opgeslagen", vbInformation, "Mededeling"
ActiveWorkbook.Close
End If
Sheets("Q").Select
Application.ScreenUpdating = True
End Sub
*Nu zal de code niet de schoonheidsprijs verdienen, maar ik doe mijn best :-S*
De code werkt prima, hij doet alles wat ik wil. Het probleem is alleen dat er een enorm (823kb) bestand ontstaat. Dit terwijl als je er voor kiest een dergelijke sheet zelf te maken deze slechts luttele (20kb) ruimte inneemt. Weten jullie wat ik fout doe? Moet ik andere vba code stopzetten?
Wie o wie heeft er een oplossing voor mij.
Groet,
Allard