Avatar billede stewen Praktikant
20. maj 2003 - 12:11 Der er 4 kommentarer og
1 løsning

Gem, Savechanges:=False

Det her må være let - synes bare at jeg er låst fast (måske pga stres!)

Jeg skal have gemt en fil, vha VBA, jeg kender ikke filnavnet og filen er ikke aktiv!

Jeg har nogen data der skal kopieres fra en fil til en anden! filnavnet, dataene kommer fra varierer - og når jeg har kopieret dataene skal den fil selvfølgelig lukkes igen! Men nu er det min arbejdsfil (hvor kopi af dataene ligger) der er aktiv! Hvordan lukker jeg den anden fil?

Forståeligt?
Avatar billede bak Forsker
20. maj 2003 - 12:39 #1
Prøv lige at vise din kode, som den ser ud nu, så er det nemmere at fortælle hvad du skal ændre ....
Avatar billede stewen Praktikant
20. maj 2003 - 12:53 #2
Ser nogenlunde sådan her ud:

fileToOpen = Application _
    .GetOpenFilename("Text Files (*.htm), *.htm")
If fileToOpen <> False Then
    Workbooks.Open Filename:=fileToOpen
    End If

    Sheets("Valutarisiko").Select
    Cells.Select
    Selection.Copy
    Range("A1").Select
   
    Windows("registrerede aktiver.xls").Activate
    Sheets("Ark2").Select
    Cells.Select
    Range("A2").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A2:E2").Select
    Sheets("Ark3").Select
    Cells.Select
    Selection.ClearContents
    Range("A1").Select
    Selection.Consolidate Sources:=Array( _
        "'Ark2'!R1:R65536" _
        ), Function:=xlSum, TopRow:=False, LeftColumn:=True, CreateLinks:=False

Det er en gammel kode jeg har arbejdet videre på - som det er nu, er det "Registrerede aktiver" der er aktiv - men jeg skal lukke den anden som jeg starter med at åbne! Mine koder ligger i "registrerede aktiver" (Har ikke ryddet op i koden - så undskyld hvis den er uoverskuelig)
Avatar billede bak Forsker
20. maj 2003 - 13:19 #3
Dim ws As Workbook    'ny linie
fileToOpen = Application _
    .GetOpenFilename("Text Files (*.htm), *.htm")
If fileToOpen <> False Then
    Set ws = Workbooks.Open(Filename:=fileToOpen)    'ændret
    End If

    Sheets("Valutarisiko").Select
    Cells.Select
    Selection.Copy
    Range("A1").Select
   
    Windows("registrerede aktiver.xls").Activate
    Sheets("Ark2").Select
    Cells.Select
    Range("A2").Activate
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A2:E2").Select
    Sheets("Ark3").Select
    Cells.Select
    Selection.ClearContents
    Range("A1").Select
    Selection.Consolidate Sources:=Array( _
        "'Ark2'!R1:R65536" _
        ), Function:=xlSum, TopRow:=False, LeftColumn:=True, CreateLinks:=False
    ws.Close savechanges:=False  ' ny linie
Avatar billede stewen Praktikant
20. maj 2003 - 13:25 #4
Perfekt - ja, lidt ret fik jeg! For det kan kun skyldes stres at jeg ikke tænkte lidt længere!

Tak, smid et svar - og så skal jeg ellers til at rydde op!
Avatar billede bak Forsker
20. maj 2003 - 13:38 #5
Ok, her er svaret. Synd med den stress :-)
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