Excel VBA / VBA programmering / Arbejde med dokumenter
|
Excel VBA som firmakursus?
Ja, jeg holder ikke kun fjernundervisningskurser
- jeg kan også komme ud i din virksomhed og undervise med
udgangspunkt i jeres data og udfordringer.
|
|
Arbejde med dokumenter
På linje med arkfanerne er der 2-3 interessante objekter man kan tage fat i når man skal arbejde med dokumenter - det er Workbooks, ActiveWorkbook og ThisWorkbook.
Workbooks
Er en samling af alle åbne regneark. Her følger et par eksempler på anvendelse:
Workbooks("salg").ActivateVil aktivere regnearket salg.xls.
Dim w As Workbook
For Each w In Workbooks
If w.Name <> ThisWorkbook.Name Then
w.Close savechanges:=True
End If
Next wVil gennemløbe alle åbne regnark og lukke alle undtagen det regneark, der indeholder makroen.
ThisWorkbook
Er et Workbook objekt, der peger på det regneark (den fil), der indeholder makroen.
ActiveWorkbook
Er igen et Workbook objekt, der, som navnet antyder, peger på aktive regneark. ActiveWorkbook bruger vi ofte sammen med Save eller SaveAs
ActiveWorkbook.Save
ActiveWorkbook.SaveAs
Workbook objektet har naturligvis en lang række metoder og egenskaber, der kan være nyttige i forskellige sammenhænge. Find dem ved at skrive ActiveWorkbook.
Dialoger
Der findes et Dialogs objekt, der kan bruges i relation til det at gemme regneark, men også i andre sammenhænge
Application.Dialogs(xlDialogSaveAs).Show "c:\test.xls"
Vil åbne gem som dialogen og foreslå at regnearket gemmes i roden på c-drevet med navnet test.xls.
Har du problemer med at styre hvilken mappe filen gemmes i kan du i stedet prøve at bruge
Filnavn = Application.GetSaveAsFilename("c:\", , , "Vælg filnavn")Den vil åbne en dialog, hvor brugeren har mulighed for at vælge sti og skrive filnavn. Vær opmærksom på, at filen ikke bliver gemt, men at du få det valgte filnavn og sti ind i variablen Filnavn. Efterfølgende skal du så bruge ActiveWorkbook.SaveAs for at gemme. Og du kan spørge på om Filnavn = False for at finde ud af om brugeren faktisk har valgt noget i dialogen.
Variable
Også når vi arbejder med dokumenter er det en god idé at bruge variable til de forskellige dokumenter man arbejder med
Dim wkbResultat As Workbook
Set wkbResultat = ActiveWorkbook ' eller
Set wkbResultat = Workbooks.Open(sFilnavn)
Findes dokumentet
If Dir("c:\mitregneark.xls") <> "" Then
Når du har betalt for kurset får du adgang til øvelser til hver lektion.
Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.<<- Arbejde med arkfaner
Kopiering og flytning af data ->>