Avatar billede hugopedersen Nybegynder
30. juni 2003 - 08:04 Der er 25 kommentarer og
1 løsning

Gemme et sheet fra en workbook som en kopi

Jeg har en Excel woorkbook der bruges til lønberegninger. Nå jeg så har tastet de relevante data ind på et sheet, vil jeg godt have mulighed for at gemme dette sheet som en kopi(meget gerne bare en selection af celler). Helst uden formler og makroer hvis det er muligt, da det vil gøre det vanskeligere at ændre i tallene efterfølgende.
Filnavnet har jeg styr på da jeg allerede har lavet så der gemmes en kopi af hele woorkbook'en, men jeg synes det fylder for meget og jeg ville gerne om det var sådan at man ikke kan ændre fordi formlerne er væk.
Avatar billede janvogt Praktikant
30. juni 2003 - 08:15 #1
Du kan evt. bruge "Indsæt speciel > Værdier" ......
Så overskrives alle formler og links med værdier og arket vil ikke fylde nær så meget.
Avatar billede kabbak Professor
30. juni 2003 - 08:18 #2
Sub Makro1()

    Sheets("Ark1").Select
    Sheets("Ark1").Copy
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Din sti\kopiMappe2.xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
    ActiveWindow.Close
End Sub

ret selv arknavnet og stien hvor den skal gemme

makroen skal ligge i et nodul
Avatar billede kabbak Professor
30. juni 2003 - 08:32 #3
nodul = modul

Husk også filnavnet skal rettes til
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 08:39 #4
Får en fejl 1004 ved Cells.Select
Avatar billede kabbak Professor
30. juni 2003 - 08:40 #5
er dit ark beskyttet
Avatar billede kabbak Professor
30. juni 2003 - 08:41 #6
eller celler
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 08:42 #7
Nej det er det ikke.
Avatar billede kabbak Professor
30. juni 2003 - 08:45 #8
Hvilke udgave af excel bruger du
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 08:46 #9
Version 2002 = XP
Avatar billede kabbak Professor
30. juni 2003 - 08:47 #10
smid lige din rettede kode herind så jeg kan se den
Avatar billede kabbak Professor
30. juni 2003 - 08:48 #11
jeg bruger 2000, men i xp burde det også virke.
Avatar billede kabbak Professor
30. juni 2003 - 08:49 #12
1004 koden, er det ikke hvis stien, hvor den skal gemme ikke eksisterer.
Avatar billede kabbak Professor
30. juni 2003 - 08:53 #13
jeg skal til møde, kommer senere
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 08:53 #14
Jeg har prøvet at rette 'Cells.Select' til

  Sheets("TAXAmeter-afregning").Range("A1:W50").Select

Så ser det ud til at virke
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 09:00 #15
Det eneste jeg 'mangler' nu er at de 2 makroknapper jeg har på arket ikke skal gemmes med. Kan man skjule dem på kopien inden man gemmer ?
Avatar billede kabbak Professor
30. juni 2003 - 10:12 #16
kan du ikke sætte dette ind inden
ActiveWorkbook.SaveAs Filename:=

ActiveSheet.Shapes("CommandButton1").Select
    ActiveSheet.Shapes.Range(Array("CommandButton1", "CommandButton2")).Select
    Selection.Delete


og rette navnene på knapperne til dine navne
Avatar billede kabbak Professor
30. juni 2003 - 10:13 #17
hov, den første linie skal ikke med
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 10:51 #18
Så fik jeg det til at fungere som jeg tror jeg gerne vil.

Dog mangler jeg lige det lille problem at hvis filen eksisterer i forvejen, så kommer Excel og spørger om man vil overskrive :-)
Normalt vil det ikke være et problem da mit bilagsnummer skifter for hver udskrift og det er den jeg bruger som filnavn.

Jeg synes bare ikke jeg kan finde en parameter der forcer overwrite.
Avatar billede kabbak Professor
30. juni 2003 - 12:08 #19
Sættes ind lige efter
Sub Makro1()
Application.DisplayAlerts = False

sættes ind lige inden End Sub

Application.DisplayAlerts = True
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 13:06 #20
Det burde man jo have husket fra Access ( DoCmd.SetWarnings )
Avatar billede janvogt Praktikant
30. juni 2003 - 13:19 #21
Kan se, at det endte med en "Indsæt speciel/værdier"-løsning.
Det var vel egentlig det, jeg lagde ud med at foreslå, eller ....?
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 13:39 #22
Det kan du vel egentlig have ret i, men som hardcoreprogrammør :-) overser jeg nogen gange ting hvor der ikke er skrevet noget kode. Jeg ved ikke om du kender fornemmelsen?

Jeg skal se om ikke jeg kan huske dig, så du ikke bliver snydt en anden gang.
Avatar billede janvogt Praktikant
30. juni 2003 - 13:52 #23
No bad feelings ....

Hvis du havde skrevet, at det var en VBA-opgave kunne vi jo ha' gået til fadet med det samme .... ;-)
Avatar billede hugopedersen Nybegynder
30. juni 2003 - 14:01 #24
Jamen det er jeg også overbevist om - det plejer du nok at kunne :-)

Men kan du så fortælle mig hvordan jeg gør så der ingen VBA kode gemmes med i kopien ? Så skal jeg hurtigt få oprettet et pointgivende spørgsmål til dig.

Baggrunden for det hele er at jeg har et regneark til indtastning af lønninger. Disse får et fortløbende bilagsnummer ved udskrift og jeg ønsker så at gemme de indtastede data med udregninger til senere brug. Men VBA koden på de trykknapper jeg har på arket gemmes også, selvom jeg har fået slettet knapperne (sådan gør man åbenbart i M$' verden)
Avatar billede janvogt Praktikant
30. juni 2003 - 15:16 #25
Du kan evt. i Workbook_close hændelsen ligge følgende kode, som sletter et helt modul:

Sub DeleteVBComponent(ByVal wb As Workbook, ByVal CompName As String)
' deletes the vbcomponent named CompName from wb
    Application.DisplayAlerts = False
    On Error Resume Next ' ignores any errors
    wb.VBProject.VBComponents.Remove wb.VBProject.VBComponents(CompName) ' delete the component
    On Error GoTo 0
    Application.DisplayAlerts = True
End Sub


Eks. DeleteVBComponent ActiveWorkbook, "TestModule"
Avatar billede hugopedersen Nybegynder
01. juli 2003 - 07:45 #26
Jo - men jeg skal vel sådan set slette det i det øjeblik lige inden jeg gemmer den nye kopi.  Det kan jeg ikke lige få til at funke med det kode.

Hvis du skulle have interesse i at se arket, så smid en mailadresse.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester