Avatar billede h_s Forsker
31. oktober 2004 - 17:52 Der er 10 kommentarer og
1 løsning

Makro der gemmer projekt med navn fra celle

Jeg har brug for en makro, der gemmer projekt en bestemt forud deffineret mappe med et navn taget fra en celle og tilføjet årstal.

Ex.
Celle A1 = 1234567
Årstal = 2004
Gemme fil C:\tjek\

Sti til fil = C:\tjek\1234567-04.xls

Filnavn ændre sig fra gang til gang og årstal ændre sig jo en gang årligt.

Jeg har også behov for at makroen kan bruges i Word. Men her er det et bogmærke i stedet for en celle, der bruges til "1234567".

Ex.
Bignmærke = ref = 1234567
Årstal = 2004
Gemme fil C:\tjek\

Sti til fil = C:\tjek\1234567-04.doc

Hvem kan hjælpe mig?
Avatar billede sjap Praktikant
31. oktober 2004 - 18:33 #1
I Excel kan du bruge noget i retning af:

FilNavn = "C:\tjek\" & Worksheets("Ark1").Range("A1") & "-" & Format(Now(), "yy")
ActiveWorkbook.SaveAs FileName:=FilNavn, FileFormat:=xlNormal
Avatar billede kabbak Professor
01. november 2004 - 00:25 #2
jeg ved ikke om du mente at samme kode skulle bruges begge steder, men her er den.

Den er ikke helt testet igennem.

Public Sub GemSom()
'I word skal der refereres til Microsoft Excel xx.x object library
'I Eccel skal der refereres til Microsoft Word xx.x object library
A = Application.Name
If A = "Microsoft Excel" Then
'MsgBox A
FilNavn = "C:\tjek\" & Worksheets("Ark1").Range("A1") & "-" & Format(Now(), "yy")
ActiveWorkbook.SaveAs FileName:=FilNavn, FileFormat:=xlNormal
Else
'MsgBox A
B = ActiveDocument.Bookmarks("ref").Range
FilNavn = "C:\tjek\" & B & "-" & Format(Now(), "yy")
ActiveDocument.SaveAs FileName:=FilNavn, FileFormat:=wdFormatDocument
End If
End Sub
Avatar billede h_s Forsker
01. november 2004 - 16:56 #3
Kabbak> Det ser ud som om at jeg har skrevet det lit forkert. Jeg har brug for 2 makroer: En til Excel og en til Word, men jeg tror jeg kan bruge din version, men vil aldrig komme i den situation af "IF-sætningen" skal bruges, idet jeg altid vil skulle gemme i Excel fra Excel-filen og i Word i Word-filen.

Men har du ikke blandet noget sammen:

'I word skal der refereres til Microsoft Excel xx.x object library
'I Eccel skal der refereres til Microsoft Word xx.x object library

Bør der ikke stå:
'I EXCEL skal der refereres til Microsoft Excel xx.x object library
'I WORD skal der refereres til Microsoft Word xx.x object library

.. altså byttes om på Word og Excel?
Avatar billede kabbak Professor
01. november 2004 - 17:32 #4
For Word

Public Sub GemWordSom()
B = ActiveDocument.Bookmarks("ref").Range
FilNavn = "C:\tjek\" & B & "-" & Format(Now(), "yy")
ActiveDocument.SaveAs FileName:=FilNavn, FileFormat:=wdFormatDocument
End Sub

For Excel

Public Sub GemExcelSom()
FilNavn = "C:\tjek\" & Worksheets("Ark1").Range("A1") & "-" & Format(Now(), "yy")
ActiveWorkbook.SaveAs FileName:=FilNavn, FileFormat:=xlNormal
End Sub

Så skal der heller ikke referencer til
Avatar billede h_s Forsker
01. november 2004 - 18:42 #5
kabbak> Ja, så har du hjulpet mig endnu engang :-) Jeg må snart selv lære det programmering!

Lig lige et svar!
Avatar billede kabbak Professor
01. november 2004 - 18:53 #6
et svar ;-))
Avatar billede sjap Praktikant
01. november 2004 - 22:22 #7
Og hvad var det lige jeg gjorde forkert?
Avatar billede kabbak Professor
01. november 2004 - 22:58 #8
Avatar billede sjap Praktikant
01. november 2004 - 23:27 #9
Tak for det kabbak, men jeg ville nu gerne have hørt fra h_s. Pointene som sådan er ikke så vigtige, men jeg ville blot gerne vide, hvorfor det første korrekte svar ikke skal belønnes. Det er vel ikke en fejl, at det kun bevarer det ene spørgsmål - eller hva'?
Avatar billede h_s Forsker
10. november 2004 - 09:20 #10
sjap> For mig virkede det ikke som om du var helt sikker den virkede og jeg kunne kun se en makro og kunne ikke se hvad den skulle bruges til (Word eller Excel). Samtidig så det ikke ud som om du var helt sikker på den virkede idet du skrev "noget i retninge af..". Håber det er ok!
Avatar billede sjap Praktikant
11. november 2004 - 18:09 #11
h_s > Du skriver, du har brug for en makro. Det opfattede jeg som VBA, og antager dermed at du ved lidt om det. I hver tilfælde nok til at sætte en programlinie (som den jeg foreslog 31/10-2004 18:33:16) ind i en makro. Det var åbenbart en forkert antagelse.

Min "usikkerhed" skyldes at jeg ikke kendte navnet på dit faneblad, og derfor kunne jeg jo ikke skråsikkert sige, at sådan skulle programlinien se ud.

At du ikke kan se hvad den skulle bruges til forstå jeg ikke. Når jeg læser, hvad jeg skrev, så synes jeg egentligt at ordet "Excel" er tydeligt nok.

Jeg har det helt fint med at du giver kabbak point. Jeg ville også mene det var rimeligt, hvis du gav ham væsentligt flere point end mig - han har hjulpet klart mere end jeg i forbindelse med dette spørgsmål. Men at du synes jeg ikke skal have point når hele Excel-løsningen er en kopi af den programlinie som jeg foreslog (bortset fra "Public Sub GemExcelSom()" og "End Sub"), så synes jeg ikke det er rimeligt.
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