Avatar billede bahne2000 Novice
17. september 2007 - 12:25 Der er 15 kommentarer og
1 løsning

gemme data i celle i variabel og bruge variablen

Jeg vil gerne hente værdien af en celle og gemme den i en variabel og derefter bruge den variabel til at gemme en fil hvor filnavnet skal være værdien af variablen.

eks.

celle A6 = Hansen.
gem A6 i variabel "Navn"
gem worksheet som "Navn.xls"
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 12:57 #1
Sub test()
Sti = "C:\"
Navn = Range("A6").Value
ChDir Sti

ActiveWorkbook.SaveAs Filename:= _
Sti & Navn, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
End Sub
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 13:00 #2
Og med lidt sikkerhed:

Sub test()
Sti = "C:\"
Navn = Range("A6").Value
If Right(Navn, 4) <> ".xls" Then
    MsgBox "Fejl i filnavnet"
    Exit Sub
End If

On Error Resume Next
ChDir Sti
If Err.Number = 76 Then
    Err.Clear
    MsgBox "fejl i stien"
    Exit Sub
End If

ActiveWorkbook.SaveAs Filename:= _
Sti & Navn, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False

End Sub
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 13:04 #3
Eller med den aktuelle sti:

Sub test()
Sti = ThisWorkbook.Path & "\"
Navn = Range("A6").Value
If Right(Navn, 4) <> ".xls" Then
    MsgBox "Fejl i filnavnet"
    Exit Sub
End If


ActiveWorkbook.SaveAs Filename:= _
Sti & Navn, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False

End Sub
Avatar billede bahne2000 Novice
17. september 2007 - 13:54 #4
Jeg er ikke med på hvordan Sikkerheds IF løkken virker, jeg har lige undladt så virker det fint, bortset fra at filen ikke får .xls format.
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 14:08 #5
Ok, du skrev bare: gem worksheet som "Navn.xls"
Avatar billede bahne2000 Novice
17. september 2007 - 14:10 #6
fandt ud af at filnavnet ikke gik fordi der var et "." i cellen eks. "hansen % Co.", der vil også kunne forekomme "," og "/" kan man lave et tjek som erstatter eller fjerne de tegn som windows ik vil godtage i filnavne?
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 14:15 #7
En fil kan ikke have et slash (/) i navnet. Punktum skulle ikke være noget problem.
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 14:16 #8
Hvordan ser din kode ud nu?
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 14:16 #9
Og hvorfor skal du ikke gemme som .xls?
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 14:19 #10
Navn = Replace(Navn, "/", "_") 'Erstatter slash med underscore
Avatar billede bahne2000 Novice
17. september 2007 - 14:20 #11
Sub celleværdi2()

Sti = ThisWorkbook.Path & "\"
Navn = Range("A6").Value
'If Right(Navn, 4) <> ".xls" Then
'    MsgBox "Fejl i filnavnet"
'    Exit Sub
'End If


ActiveWorkbook.SaveAs Filename:= _
Sti & Navn, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False


End Sub


jeg fjernede "." efter "Co" i cellen og så kunne den godt gemme som .xls og ja "/" bliver et problem. Har fjernet sikkerheds tjekket, for den poppede op.
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 14:41 #12
Sikkerhedschecket popper op, fordi stien ikke eksisterer. Ellers bliver filen ikke gemt, og du får en error. Men hvorfor vil du skrive / i filnavnet?

Sub celleværdi2()

Sti = ThisWorkbook.Path & "\"
Navn = Range("A6").Value
Navn = Replace(Navn, "/", "_") 'Erstatter slash med underscore

'If Right(Navn, 4) <> ".xls" Then
'    MsgBox "Fejl i filnavnet"
'    Exit Sub
'End If


ActiveWorkbook.SaveAs Filename:= _
Sti & Navn, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False


End Sub
Avatar billede bahne2000 Novice
17. september 2007 - 14:46 #13
Det vil jeg heller ikke men der vil forekomme navne hvor der er "/" med i, trukket fra en database, så der skal tages forbehold for det :)
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 14:57 #14
Ok, det gør 17/09-2007 14:41:07
Avatar billede bahne2000 Novice
17. september 2007 - 15:44 #15
Sådan her ser det ud pt.

Sub celleværdi()

Sti = ThisWorkbook.Path & "\"  ' definer sti hvor skabelon skal gemmes som anden fil
Workbooks.Open Filename:= _
"C:\navneholder.xls" ' åben listen over filnavne
Navn = Range("A3").Value    ' sæt variablen NAVN lig værdien i cellen A3
'If Right(Navn, 4) <> ".xls" Then
'    MsgBox "Fejl i filnavnet"
'    Exit Sub
'End If

Navn = Replace(Navn, "/", "_") 'Erstatter slash med underscore
Navn = Replace(Navn, ".", " ") 'Erstatter slash med underscore
Navn = Replace(Navn, ",", " ") 'Erstatter slash med underscore

ActiveWindow.Close        ' luk navne listen
ActiveWindow.ActivateNext ' aktiver skabelon filen

' Gem filen med navnet fra navne listen
ActiveWorkbook.SaveAs Filename:= _
Sti & Navn, FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False

End Sub
Avatar billede gider_ikke_mere Nybegynder
17. september 2007 - 16:16 #16
Ok, tak for point.
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
Kurser inden for grundlæggende programmering

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