Avatar billede keet Nybegynder
29. juli 2005 - 13:57 Der er 8 kommentarer og
1 løsning

åben anden fil og gem den som ny med Excel makro

Jeg har en excel fil hvor i celle A1 står en filnavn.

Dette filnavn er stien til en anden excel fil der skal gemmes med et nyt navn som står i A2.

Hvordan kan man lave dette? evt. uden at den anden fil popper op i min første fil
Avatar billede keet Nybegynder
29. juli 2005 - 13:59 #1
Excel fil med filnavne = x
Excel fil der kopieres = y

Kan man overføre værdier fra regneark x til regneark y uden at åbne det så det popper op i x?
Avatar billede kabbak Professor
29. juli 2005 - 14:05 #2
Hvis du også har stien med i begge celler, så:

Public Sub KopierFil()
Dim SourceFile, DestinationFile
SourceFile = Range("A1").Value    ' Define source file name.
DestinationFile = Range("A2").Value      ' Define target file name.
FileCopy SourceFile, DestinationFile    ' Copy source to target.
End Sub
Avatar billede keet Nybegynder
29. juli 2005 - 14:11 #3
jeg har en værdi i A3. Kan jeg få den over i den nye fil?
Avatar billede kabbak Professor
29. juli 2005 - 14:37 #4
Public Sub KopierFil()
Dim SourceFile, DestinationFile
SourceFile = Range("A1").Value    ' Define source file name.
DestinationFile = Range("A2").Value      ' Define target file name.
FileCopy SourceFile, DestinationFile    ' Copy source to target.

Workbooks.Open Filename:=DestinationFile
Sheets("ark1").Range("A3") = ThisWorkbook.Sheets("ark1").Range("A3")
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Avatar billede keet Nybegynder
29. juli 2005 - 14:48 #5
Jeg kunne se at dette lige skulle på i stedet:
ActiveWorkbook.Sheets("ark1").Range("A3") = ThisWorkbook.Sheets("ark1").Range("A3")

Jeg kan se der bliver åbnet et nyt dokument og det bliver lukket hurtigt igen. Er det muligt at skjule dette?
Avatar billede keet Nybegynder
29. juli 2005 - 14:49 #6
Kan man ikke blot åbne det "binært" så man ikke kan se der bliver arbejdet med en anden fil?
Avatar billede kabbak Professor
29. juli 2005 - 14:52 #7
Public Sub KopierFil()
Dim SourceFile, DestinationFile
SourceFile = Range("A1").Value    ' Define source file name.
DestinationFile = Range("A2").Value      ' Define target file name.
FileCopy SourceFile, DestinationFile    ' Copy source to target.
Application.ScreenUpdating = False
Workbooks.Open Filename:=DestinationFile
Sheets("ark1").Range("A3") = ThisWorkbook.Sheets("ark1").Range("A3")
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
Avatar billede keet Nybegynder
29. juli 2005 - 15:12 #8
Der kommer stadig et lille ikon frem i bundlinien men det kan man nok ikke gøre noget ved.
Ellers virker det bare helt perfekt. Mange tak for hjælpen, det var sku fedt.

Vil du svare :)
Avatar billede kabbak Professor
29. juli 2005 - 15:46 #9
et svar ;-))
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