Avatar billede h_s Forsker
28. oktober 2006 - 17:02 Der er 14 kommentarer og
2 løsninger

Makro - Kontrol om filnavn indeholder tekst fra celle

Jeg skal bruge noget makro, der tjekker om den indeholder filnavnet indeholder teksten fra celle C3 i ark Info.

Filnavnet er åååå-mm-Worksheets("Info").Range("C3")

Ex. 2006-10-Peter Sørensen

Jeg har prøvet med:

"If Filename = Worksheets("Info").Range("C3") Then"

men det virker ikke. For det første kigger den jo kun efter om filnavn er = C3 og det er den jo ikke, men spørgsmålet er om det andet er rigtig!
Avatar billede bak Forsker
28. oktober 2006 - 17:06 #1
If Filename Like "*" & Worksheets("Info").Range("C3") & "*" Then
Avatar billede h_s Forsker
28. oktober 2006 - 17:19 #2
Bak> synes ikke rigtig jeg kan få det til at virke efter hensigten. Det jeg skal have den til er at hvis filen findes i forvejen, skal den gemme oven i, ellers skal den gemmes i ovennævnte format.

Jeg har gjort det med følgende:

If Filename Like "*" & Worksheets("Info").Range("C3") & "*" Then
 
ActiveWorkbook.Save
 
Else

..

Hvad er forkert?
Avatar billede excelent Ekspert
28. oktober 2006 - 17:57 #3
prøv:
fnavn = Format(Now, "yyyy-mm-") & Sheets("Info").Range("C3")
ActiveWorkbook.SaveAs Filename:=fnavn
Avatar billede h_s Forsker
28. oktober 2006 - 18:04 #4
Excelent> Det dur ikke, for yyyy-mm er = det år og måned hvor det er gemt første gang. Det kan jo være den åbnes en anden måned/år og efterfølgende rettes i den. Hvis der så gemmes med din ide, vil der bliver lavet en ny fil.
Hvis SaveAs bruges og gemmes oveni så bliver der spurgt om man vil overskrive - Det vil jeg gerne undgå!

Derfor er det vigtigt at Save bruges og der kun undersøges om filen har været gemt før med værdien "C3".
Avatar billede excelent Ekspert
28. oktober 2006 - 18:27 #5
ok så må jeg lige ha den igen
1 undersøg om den aktuelle projektmappe's filnavn indeholder værdien i Info-C3
eller
2 undersøg om der er gemt en fil hvor værdi i aktuelle projektmappe-Info-C3 indgår
Avatar billede h_s Forsker
28. oktober 2006 - 18:30 #6
Ikke helt
Undersøge om den aktuelle projektmappe's filnavn indeholder værdien I Info-C3 og så gemme den
Hvis ikke så... (Har den del)
Avatar billede excelent Ekspert
28. oktober 2006 - 18:44 #7
Sub tst()
Dim filnavn, C3navn
filnavn = ActiveWorkbook.Name: C3navn = Sheets("Info").Range("C3").Value
If filnavn Like "*" & C3navn & "*" Then MsgBox ("") & filnavn
End Sub

MsgBox ("") & filnavn ændres til save....
Avatar billede excelent Ekspert
28. oktober 2006 - 19:31 #8
ja det er omtrent det samme som bak foreslog kan jeg se
og det virker ikke efter hensigten
arbejder på sagen....
Avatar billede kabbak Professor
28. oktober 2006 - 19:48 #9
If InStr(1, Filename, Worksheets("Info").Range("C3").Text) > 0 Then
Avatar billede excelent Ekspert
28. oktober 2006 - 20:07 #10
sådan kabbak

mangler måske lige at nævne at
Filename = ActiveWorkbook.Name
Avatar billede kabbak Professor
28. oktober 2006 - 20:57 #11
If InStr(1, ActiveWorkbook.Name, Worksheets("Info").Range("C3").Text) > 0 Then

sådan
Avatar billede h_s Forsker
29. oktober 2006 - 10:09 #12
Tak for hjælpen.
Kabbak du skal have nogle point, men måske skal excelent også have lidt for den sidste rettelse.
Avatar billede kabbak Professor
29. oktober 2006 - 10:10 #13
meget rimelig ;-))
Avatar billede excelent Ekspert
29. oktober 2006 - 10:58 #14
ok :-)
Avatar billede kabbak Professor
29. oktober 2006 - 15:02 #15
tak for point ;-))
Avatar billede h_s Forsker
29. oktober 2006 - 16:09 #16
Det er mig der siger tak! :-)
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