Avatar billede javid Nybegynder
11. december 2001 - 10:48 Der er 15 kommentarer og
1 løsning

Makro

Jeg har lavet en makro, der kopier en ark og gemmer det som en ny fil. Den fungerer fint. Men det kræver, at filen er lukket.
Er der nogen, der kan fortælle mig hvordan jeg kan kopiere data over til den anden fil selvom den er åben.
Avatar billede b_hansen Novice
11. december 2001 - 10:50 #1
Kunne du ikke vise din makro? Det ville være lidt lettere at forstå problemet, hvis man kan se koden
11. december 2001 - 10:55 #2
Ja, kan du ikke kopiere din makro herind, så skal jeg kigge på det
Avatar billede javid Nybegynder
11. december 2001 - 11:02 #3
Application.DisplayAlerts = False
    Sheets(\"Ark1\").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=5, Criteria1:=\"2.1\"
    Sheets(\"Ark1\").Copy
    ActiveWorkbook.SaveAs FileName:=\"C:\\Dokument\\2.1.xls\"
     
    Application.DisplayAlerts = True
   
    ActiveWorkbook.Close SaveChanges:=True
11. december 2001 - 11:08 #4
Det giver måske lidt problemer, at du vil køre noget autofilter på en lukket fil.

Jeg ville åbne den først:
    Workbooks.Open \"C:\\Dokumenter\\minexcelfil.xls\"
så lukke den igen til sidst:
    ActiveWorkbook.Close SaveChanges:=True
således har du ovenstående linie 2 gange efter hinanden.
11. december 2001 - 11:08 #5
altså noget lign. dette:

Application.DisplayAlerts = False
    Workbooks.Open \"C:\\Dokumenter\\minexcelfil.xls\"
    Sheets(\"Ark1\").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=5, Criteria1:=\"2.1\"
    Sheets(\"Ark1\").Copy
    ActiveWorkbook.SaveAs FileName:=\"C:\\Dokument\\2.1.xls\"
     
    Application.DisplayAlerts = True
   
    ActiveWorkbook.Close SaveChanges:=True
    ActiveWorkbook.Close SaveChanges:=True
Avatar billede b_hansen Novice
11. december 2001 - 11:10 #6
ja, jeg må jo bøje mig i støvet flemmingdahl. Du er godt nok hurtig på aftrækkeren *S*
11. december 2001 - 11:12 #7
*s* bøj dig nu ikke for dybt, jeg har set, at du godt ka\' *s*
Avatar billede javid Nybegynder
11. december 2001 - 11:17 #8
Den fil som makroen afspilles er åbent. Det er den anden fil (2.1.xls), hvori dataen gemmes, kan være åben af en anden bruger.
Derfor Workbooks.Open \"C:\\Dokumenter\\minexcelfil.xls\"
behøves ikke at tilføje.
Avatar billede b_hansen Novice
11. december 2001 - 11:18 #9
Nu skriver du kan være åben. For mig lyder det som om, du bør teste på, om filen virkelig er åben, før makroen kører videre. Ellers vil du rende ind i et problem, hvis filen en dag ikke er åben.
Avatar billede javid Nybegynder
11. december 2001 - 11:20 #10
Hvordan kan jeg gøre det.
Avatar billede javid Nybegynder
11. december 2001 - 11:22 #11
Det jeg havde tænkte på at kunne lukke den anden fil vhj. af IF-sætning.
Avatar billede b_hansen Novice
11. december 2001 - 11:23 #12
det er osse den løsning, jeg lige sidder og roder med
11. december 2001 - 11:30 #13
Hvis filen er åben hos en anden bruger, så får du svært ved at lukke filen men en makro, hvis du overhovedet kan det.

Spørgsmålet er, om du kan løse problematikken ved at lave deling på filen 2.1.xls - hvis ikke det hjælper, så ..... hmmm
Avatar billede b_hansen Novice
11. december 2001 - 11:39 #14
Som jeg ser det, er problemet mere, at makroen kan startes uden at filen er åben. Herved vil der jo opstå en fejlmelding, og makroen standser.

Jeg har prøvet at flikke nedenstående rutine sammen. Den kræver dog nogen tilretning, men viser ideen.

Sub test_fil()

    On Error GoTo fil_findes_ikke
    Windows(\"systemdata.xls\").Activate

test_fil_afslut:
  Exit Sub
   
fil_findes_ikke:
    MsgBox (\"Filen er ikke åben\")
    Resume test_fil_afslut
End Sub

I dette eksempel forsøger Excel at skifte til dataarket. Hvis det ikke findes, fremkommer en tekstboks med en fejlmelding. Her skal du i stedet åbne din fil.
Resten af din kode skal så komme i test_fil_afslut
Avatar billede javid Nybegynder
12. december 2001 - 11:28 #15
Jeg prøvede Flemmingdahl´s forslag. Det virkede udmærket. Tak for jer allesammen.
12. december 2001 - 11:30 #16
;-) altid en fornøjelse
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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