Avatar billede igoogle Forsker
27. maj 2011 - 22:41 Der er 2 kommentarer og
1 løsning

VBA: Åbne og lukke dokumeneter

Hej,

Jeg er igang med at lave en excel løsning hvor i jeg har brug for at åbne kopier noget, sortere det og så lukke det dokument hvor jeg tog værdierne fra igen, måske ikke lige i den rækkefølge (måske en del af problemmet). Er kommet frem med følgende kode stump.

Private Sub Workbook_Open()

    Sheets("Data").Select 'vælger data worksheetet
    Range("B3").Select 'og sætter sig start punktet for data serien
    Workbooks.Open Filename:="C:\Data.xlsx" 'åbner data filen
    Range("A2").Select 'går til start punketet for data filen
    Range(Selection, Selection.End(xlDown)).Select 'markere indtil sidste række
    Range(Selection, Selection.End(xlToRight)).Select 'markere alle kolunner
   
    Selection.Copy 'kopier
    Windows("Work.xlsm").Activate 'går til worksheetet
    ActiveSheet.Paste 'indsætter det kopieret
    Sheets("Work").Select 'går til Work worksheetet
 
   
    Range("b7:u5000").Select 'udfører et filter på dataen i den nye data så den kun viser for den ønskede konsulent
    Selection.AutoFilter
    Selection.AutoFilter Field:=3, Criteria1:=Range("C2").Value
    Windows("Data.xlsx").Activate ' går tilbage til data filen
    ActiveWorkbook.Save 'gemmer den
    ActiveWorkbook.Close ' lukker den
    Application.CutCopyMode = False 'Tømmer cache
End Sub

Men får en fejl når jeg prøver at skifte til Windows(Data.xlsx) igen for at gemme og lukke..

Nogen forslag til hvad dette skyldes ?
Avatar billede kabbak Professor
28. maj 2011 - 13:26 #1
Ikke testet, men det burde virke

Private Sub Workbook_Open()

  ' Sheets("Data").Select 'vælger data worksheetet
  '  Range("B3").Select 'og sætter sig start punktet for data serien
    Workbooks.Open Filename:="C:\Data.xlsx" 'åbner data filen
    Range("A2").Select 'går til start punketet for data filen
    Range(Selection, Selection.End(xlDown)).Select 'markere indtil sidste række
    Range(Selection, Selection.End(xlToRight)).Select 'markere alle kolunner
 
    Selection.Copy Windows("Work.xlsm").Sheets("Data").Range("B3")  'koperer og indsætter det kopierede
  ' ActiveSheet.Paste 'indsætter det kopieret
  ' Sheets("Work").Select 'går til Work worksheetet
  ActiveWorkbook.Save 'gemmer den
 
    Sheets("Data").Select
    Range("b7:u5000").Select 'udfører et filter på dataen i den nye data så den kun viser for den ønskede konsulent
    Selection.AutoFilter
    Selection.AutoFilter Field:=3, Criteria1:=Range("C2").Value
'    Windows("Data.xlsx").Activate ' går tilbage til data filen
'    ActiveWorkbook.Save 'gemmer den
'    ActiveWorkbook.Close ' lukker den
'    Application.CutCopyMode = False 'Tømmer cache
End Sub
Avatar billede kabbak Professor
28. maj 2011 - 13:27 #2
glemte lige en linje

Private Sub Workbook_Open()

  ' Sheets("Data").Select 'vælger data worksheetet
  '  Range("B3").Select 'og sætter sig start punktet for data serien
    Workbooks.Open Filename:="C:\Data.xlsx" 'åbner data filen
    Range("A2").Select 'går til start punketet for data filen
    Range(Selection, Selection.End(xlDown)).Select 'markere indtil sidste række
    Range(Selection, Selection.End(xlToRight)).Select 'markere alle kolunner
 
    Selection.Copy Windows("Work.xlsm").Sheets("Data").Range("B3")  'koperer og indsætter det kopierede
  ' ActiveSheet.Paste 'indsætter det kopieret
  ' Sheets("Work").Select 'går til Work worksheetet
  ActiveWorkbook.Save 'gemmer den
  ActiveWorkbook.Close ' lukker den
 
    Sheets("Data").Select
    Range("b7:u5000").Select 'udfører et filter på dataen i den nye data så den kun viser for den ønskede konsulent
    Selection.AutoFilter
    Selection.AutoFilter Field:=3, Criteria1:=Range("C2").Value
'    Windows("Data.xlsx").Activate ' går tilbage til data filen
'    ActiveWorkbook.Save 'gemmer den
'    ActiveWorkbook.Close ' lukker den
'    Application.CutCopyMode = False 'Tømmer cache
End Sub
Avatar billede igoogle Forsker
30. maj 2011 - 21:50 #3
Tak for hjælpen Kabbak, men det virkede heller ikke, endte med en løsning hvor jeg bruger ThisWorkbook og har delt macroen op i tre forskellige.
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