Avatar billede h_s Forsker
28. maj 2014 - 10:10 Der er 11 kommentarer og
1 løsning

Gem og Gem som

Hej eksperter

Jeg har brug for noget vba kode der:

1. Gemmer eksiserende fil (GEM)
2. Gemmer ny kopi (GEM SOM) samme sted med med tilføjelse af følgende i filnavn " - Rangering af tabeller ÅÅÅÅMMDD"

Det skal være i nævnte rækkefølge.
Avatar billede jakobdo Ekspert
28. maj 2014 - 10:55 #1
Uden jeg er VBA haj, er det så ikke "bare" noget ala:
http://msdn.microsoft.com/en-us/library/office/ff197585(v=office.15).aspx
http://msdn.microsoft.com/en-us/library/office/ff841185(v=office.15).aspx
Avatar billede claes57 Ekspert
28. maj 2014 - 11:07 #2
det bliver så:

Sub Makro1()
ActiveWorkbook.Save
ActiveWorkbook.SaveAs (ActiveWorkbook.FullName & " - Rangering af tabeller ÅÅÅÅMMDD")
End Sub
Avatar billede h_s Forsker
28. maj 2014 - 14:00 #3
claes57> ÅÅÅÅMMDD står får ÅR måned dag. Altså aktuelle dato. Hvordan får man det til at virke?
Avatar billede claes57 Ekspert
28. maj 2014 - 15:07 #4
Sub Makro1()
ActiveWorkbook.Save
ActiveWorkbook.SaveAs (ActiveWorkbook.FullName & " - Rangering af tabeller " & Format(Date, "yyyymmdd"))
End Sub
Avatar billede claes57 Ekspert
28. maj 2014 - 15:08 #5
obs

ActiveWorkbook.SaveAs (ActiveWorkbook.FullName & " - Rangering af tabeller " & Format(Date, "yyyymmdd"))

skal være på én linje.
Avatar billede h_s Forsker
29. maj 2014 - 18:42 #6
Hvad gør jeg hvis jeg vil have tilføjet tidspunkt TT:MM:SS efter dato?
Avatar billede claes57 Ekspert
29. maj 2014 - 19:14 #7
bare en idé: sæt cursor på Format mens du ser på makro i excel, og du ville kunne lave det selv.
Men det korte af det lange er at du tilføjer tiden:
ActiveWorkbook.SaveAs (ActiveWorkbook.FullName & " - Rangering af tabeller " & Format(Date, "yyyymmdd") & " " & Format(Time, "hh:mm:ss"))


stykket & " "  mellem date og time er bare et mellemrum, så dag og time ikke hænger sammen.
Avatar billede h_s Forsker
29. maj 2014 - 20:13 #8
claes57> tak for forslaget. Jeg forstår dog ikke det med cursor. Når jeg jeg skriver det du har skrevet, så foreslåes noget, men ikke så jeg kan se hvad jeg skal skrive.

Jeg har 2 udfordringer i
ActiveWorkbook.SaveAs (ActiveWorkbook.FullName & " - Rangering af tabeller - " & Format(Date, "yyyy-mm-dd") & " - " & Format(Time, "hh:mm:ss")):

1: Når den gemmer med FullName kommer .xlsm også med inden "- Rangering af tabell.....". Det giver et filformat som ikke kendes.

2: Format(Time, "hh:nn:ss") - Fejler.
Avatar billede claes57 Ekspert
29. maj 2014 - 20:40 #9
det, der foreslås, er fra hjælpefilen til excel. Du bør scrolle siden igennem og læse den. Det er forklaring på 'format' og hvad den kan. Du skal så selv finde de linjer du har brug for.

vi er enige om, at jeg brugte "hh:mm:ss" og du i 2) siger at "hh:nn:ss" fejler - kan du se forskellen?

1) det kræver lidt mere kode at pille extension fra og sætte den sidst - her et en måde:
Sub Makro1()
ActiveWorkbook.Save
' det fulde filnavn inkl sti og extension
filnavn = ActiveWorkbook.FullName
' find sidste punktum
fjern = InStrRev(filnavn, ".")
' ekstension er den del, der er efter punktum
filtype = Right(filnavn, Len(filnavn) - fjern)
' filnavn uden extension er frem til punktum
filnavn = Left(filnavn, fjern)
ActiveWorkbook.SaveAs (ActiveWorkbook.FullName & " - Rangering af tabeller " & Format(Date, "yyyy-mm-dd") & " - " & Format(Time, "hh:mm:ss") & filtype)
End Sub


a) det kan være, at "hh:mm:ss" skal udskiftes med "Hh:Nn:Ss", eller evt "Long Time"
b) det kan være, at der mangler et punktum før extension - hvis det sker, så ret
filtype = Right(filnavn, Len(filnavn) - fjern)
til
filtype = "." & Right(filnavn, Len(filnavn) - fjern)
Avatar billede h_s Forsker
02. juni 2014 - 15:05 #10
Du har ret i at jeg var kommet til at skrive "HH:NN:SS". Der skulle selvfølgelig være "HH:MM:SS".

Jeg har prøvet at køre din makro, men får fejl i sidste linje:

ActiveWorkbook.SaveAs (ActiveWorkbook.FullName & " - Rangering af tabeller " & Format(Date, "yyyy-mm-dd") & " - " & Format(Time, "hh:mm:ss") & filtype)

Der står at:
Method 'SaveAs' of object '_Workbook' failed.
Avatar billede claes57 Ekspert
02. juni 2014 - 15:21 #11
ret den til
ActiveWorkbook.SaveAs (filnavn & " - Rangering af tabeller " & Format(Date, "yyyy-mm-dd") & " - " & Format(Time, "hh:mm:ss") & filtype)

glipper den, så mangler der måske et punktum før filtype - i så fald
ActiveWorkbook.SaveAs (filnavn & " - Rangering af tabeller " & Format(Date, "yyyy-mm-dd") & " - " & Format(Time, "hh:mm:ss") & "." & filtype)
Avatar billede h_s Forsker
30. juli 2014 - 16:18 #12
Spørgsmål lukket - Virker ikke.
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