Avatar billede gummimand Nybegynder
18. januar 2008 - 17:28 Der er 17 kommentarer og
1 løsning

Hvordan omdøber man et regneark?

Et spørgeskema er blevet lagt ned i et excel-regneark. Dette skema henter interview'eren fra en server, hvor det har navnet spørgeskema.xls. En af cellerne i regnearket indeholder oplysninger om den interview'edes id - et unikt tal f.eks. 54325. Efter skemaet er udfyldt skal dette gemmes med et unikt navn.

Kan man i excel automatisk gemme arket med navnet fra en celle. F.eks. cellen med id'et - så arket, i dette eksempel, bliver gemt med navnet 54325.xls?
Avatar billede supertekst Ekspert
18. januar 2008 - 17:34 #1
Ja - hvis cellen kan identificeres.
Avatar billede jkrons Professor
18. januar 2008 - 17:35 #2
Lav en makro i ThisWorkbook's BefroeSave hændelse med denne linie:

  ActiveWorkbook.SaveAs Filename:=CStr(Range("A1").Value)

Ret selv A1 til den celle, der indeholder ID
Avatar billede jkrons Professor
18. januar 2008 - 17:36 #3
Den samlede kode skal se slåldes ud:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  ActiveWorkbook.SaveAs Filename:=CStr(Range("A1").Value)
End Sub
Avatar billede gummimand Nybegynder
18. januar 2008 - 17:59 #4
Øhh - den kan jeg ikke lige få til at virke.

Jeg laver et testskema.xls - i A1 skriver jeg 12345. Så går jeg ind i:
funktioner -> Makro -> Visual Basic Editor Her klikker jeg på Ark1 i venstre rude.
I højre rude kopierer jeg ovenstående kode ind. Går over i testskema.xls og gemmer, men intet sker.

Jeg må gøre noget galt ...
Avatar billede gider_ikke_mere Nybegynder
18. januar 2008 - 21:53 #5
Koden skal ind i modulet ThisWorkbook.
Avatar billede gummimand Nybegynder
18. januar 2008 - 22:10 #6
Når jeg ligger koden ind i modulet ThisWorkbook og prøver at gemme regnearket for jeg en meddelelse om at excel har genereret en fejl og skal genstartes.
Avatar billede jkrons Professor
18. januar 2008 - 22:50 #7
my mistake. Jeg troede, at du skrev hele navnet. Prøv at rette til

  ActiveWorkbook.SaveAs Filename:=CStr(Range("A1").Value) & ".xls"
Avatar billede gummimand Nybegynder
19. januar 2008 - 11:16 #8
Ok - nu gemmes regnearket, men i mappen Dokumenter (her var de tidligere forsøg uden & ".xls" også (med .xls)), og så dukker den samme fejlmeddelelse op.

Arket skal bruges af folk uden it-erfaring, så arket skal havner der hvor brugeren hentede det tomme ark, og alle fejlmedelelser skal begrænses til et absolut minimum. F.eks. hvis brugeren holder pause i indtastiningerne, gemmer og lukker excel. Kommer tilbage og fortsætter og gemmer - så skal der selvfølgelig spørges om der  skal overskrides. Men andre "advarsler" kan jeg ikke forestille mig en bruger kan håndtere - beklager.
Avatar billede jkrons Professor
19. januar 2008 - 13:46 #9
Hvor henter brugeren det tomme ark?
Avatar billede gummimand Nybegynder
19. januar 2008 - 13:58 #10
I min "sandkasse" i mappen c:/test/

Når det sættes i "produktion", hentes det fra et netværksdrev.
Avatar billede jkrons Professor
19. januar 2008 - 14:54 #11
Prøv med

ActiveWorkbook.SaveAs Filename:="C:\test\" & CStr(Range("A1").Value) & ".xls"
Avatar billede gummimand Nybegynder
21. januar 2008 - 08:27 #12
Ok - nu viker den. MEN Excel lukkes samtidigt, men en fejlmeddelelse om at excel.exe har genereret en fejl og lukkes af windows ...

Denne fejl kommer kun første gang arket gemmes...? De næste gange får man blot en advarsel om at filen allerede findes.

Kan du ikke smide et svar, så lukker jeg dette spm?
Avatar billede jkrons Professor
21. januar 2008 - 18:18 #13
Her er et svar. Hvis Excel konsekvent lukkes lyder det mere som en fejl i Excel eller filen, for det virker upåklageligt hos mig - hvis c:\test findes.
Avatar billede gummimand Nybegynder
21. januar 2008 - 18:40 #14
Tak for hjælpen!
Avatar billede jkrons Professor
21. januar 2008 - 21:53 #15
Velbekomme :-)
Avatar billede gummimand Nybegynder
23. januar 2008 - 12:57 #16
jkrons - hvis du stadig er "derude"; når en bruger åbner arket, bliver denne spurgt om det skal være med eller uden makroer. Det skal selvfølgelg altid være MED makroer, så hvordan slår man dette spørgsmål fra?
Avatar billede jkrons Professor
23. januar 2008 - 17:49 #17
Det kan man kun gøre på den enkelte pc ved at sætte makrosikkerhed til lavt niveau, eller ved dels at elsktroniske signere sine makroer, og så på hver enkelt pc tilalde at makroer med netop denne signatur må åbnes.
Avatar billede gummimand Nybegynder
08. april 2008 - 07:52 #18
Lukker
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