Avatar billede martin_moth Mester
27. september 2009 - 20:54 Der er 4 kommentarer og
1 løsning

Excal VBA: Skifte mellem åbne workbooks

Jeg skal via VBA åbne en workbook (c:\Master.xls), kopiere nogle sheets til den aktuelle workbook, og så lukke master.xls igen

Det fungerer fint, så længe den aktuelle workbook er gemt og har et navn, for så kan jeg bruge nedenstående kode. Men hvis man bare starter Excel, og køre min kode som det første, har den aktuelle workbook jo ikke noget navn osv.

Kode, der virker hvis workbooken ER gemt - men det er ikke godt nok... Det skal også virke hvis den IKKE er gemt - hvordan?

If Len(ActiveWorkbook.Path) < 1 Then
    MsgBox "Du skal gemme din fil først"
    Exit Sub
  End If
   
  If ActiveWorkbook Is Nothing Then
    MsgBox "Du skal have et regneark åbent"
    Exit Sub
  End If

  WBName = ActiveWorkbook.Name
  Workbooks.Open Filename:=MasterFilenameAndPath, ReadOnly:=True
  Sheets(SheetnameToCopy).Select
  Sheets(SheetnameToCopy).Copy BeFore:=Workbooks(WBName).Sheets(1)
  Windows(MasterFileName).Activate
  ActiveWindow.Close False
  Windows(WBName).Activate
27. september 2009 - 21:02 #1
Prøv med

Dim wkb as workbook
set wkb = activeworkbook
  Workbooks.Open Filename:=MasterFilenameAndPath, ReadOnly:=True
  Sheets(SheetnameToCopy).Select
  Sheets(SheetnameToCopy).Copy BeFore:=Workbooks(WBName).Sheets(1)
  Windows(MasterFileName).Activate
  ActiveWindow.Close False
wkb.activate

et skud fra hoften :-)
Avatar billede kabbak Professor
27. september 2009 - 21:15 #2
>> thor

skal du ikke have rettet
Sheets(SheetnameToCopy).Copy BeFore:=Workbooks(WBName).Sheets(1)
til
Sheets(SheetnameToCopy).Copy BeFore:=wkb.Sheets(1)

eller noget i den retning :-))
27. september 2009 - 21:44 #3
jo - det har du ret i
Avatar billede martin_moth Mester
01. februar 2010 - 21:22 #4
smid svar :-)
01. februar 2010 - 21:27 #5
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
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