Artikkel-ID: 291308 - Vis produkter som denne artikkelen gjelder for.
Vis alt | Skjul alt

På denne siden

Mer informasjon

Programmeringseksemplene fra Microsoft er kun eksempler. Microsoft gir ingen garantier, verken direkte eller indirekte. Dette inkluderer, men er ikke begrenset til, eventuelle underforståtte garantier om salgbarhet eller anvendelighet for et særskilt formål. Artikkelen har som utgangspunkt at du er kjent med programmeringsspråket som anvendes, og verktøyene som brukes til oppretting og feilsøking av prosedyrer. Microsofts kundestøtteteknikere er behjelpelige med å forklare funksjonaliteten til konkrete prosedyrer, men de kan ikke tilpasse eksemplene for å gi forbedret funksjonalitet eller opprette prosedyrer som dekker dine spesifikke behov. Eksemplene i denne artikkelen er basert på Visual Basic-metodene i tabellen nedenfor.
   Method             Arguments
   ------------------------------------------
   Activate           none
   Cells              rowIndex, columnIndex
   Application.Goto   reference, scroll
   Offset             rowOffset, columnOffset
   Range              cell1
                      cell1, cell2
   Resize             rowSize, columnSize
   Select             none
   Sheets             index (or sheetName)
   Workbooks          index (or bookName)
   End                direction
   CurrentRegion      none
				
Eksemplene i denne artikkelen bruker egenskapene i følgende tabell.
   Property         Use
   ---------------------------------------------------------------------
   ActiveSheet      to specify the active sheet
   ActiveWorkbook   to specify the active workbook
   Columns.Count    to count the number of columns in the specified item
   Rows.Count       to count the number of rows in the specified item
   Selection        to refer to the currently selected range
				

1. Slik merker du en celle i det aktive regnearket

Hvis du vil merke celle D5 i det aktive regnearket, kan du bruke et av følgende eksempler:
ActiveSheet.Cells(5, 4).Select
				
- eller -
ActiveSheet.Range("D5").Select
				

2. Slik merker du en celle i et annet regneark i samme arbeidsbok

Hvis du vil merke celle E6 i et annet regneark i samme arbeidsbok, kan du bruke et av følgende eksempler:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
				
   -or-
				
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
				
Du kan eventuelt aktivere regnearket og deretter merke cellen ved hjelp av metode 1 ovenfor:
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
				

3. Slik merker du en celle i et regneark i en annen arbeidsbok

Hvis du vil merke celle F7 i et regneark i en annen arbeidsbok, kan du bruke et av følgende eksempler:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
				
- eller -
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
				
Du kan eventuelt aktivere regnearket og deretter merke cellen ved hjelp av metode 1 ovenfor:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
				

4. Slik merker du et celleområde i det aktive regnearket

Hvis du vil merke området C2:D10 i det aktive regnearket, kan du bruke et av følgende eksempler:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
				
ActiveSheet.Range("C2:D10").Select
				
ActiveSheet.Range("C2", "D10").Select
				

5. Slik merker du et celleområde i et annet regneark i samme arbeidsbok

Hvis du vil merke området D3:E11 i et annet regneark i samme arbeidsbok, kan du bruke et av følgende eksempler:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
				
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
				
Du kan eventuelt aktivere regnearket og deretter merke området ved hjelp av metode 4 ovenfor:
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
				

6. Slik merker du et celleområde i et regneark i en annen arbeidsbok

Hvis du vil merke området E4:F12 i et regneark i en annen arbeidsbok, kan du bruke et av følgende eksempler:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
				
Application.Goto _
      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
				
Du kan eventuelt aktivere regnearket og deretter merke området ved hjelp av metode 4 ovenfor:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
				

7. Slik merker du et navngitt område i det aktive regnearket

Hvis du vil merke det navngitte området Test i det aktive regnearket, kan du bruke et av følgende eksempler:
Range("Test").Select
				
Application.Goto "Test"
				

8. Slik merker du et navngitt område i et annet regneark i samme arbeidsbok

Hvis du vil merke det navngitte området Test i et annet regneark i samme arbeidsbok, kan du bruke følgende eksempel:
Application.Goto Sheets("Sheet1").Range("Test")
				
Du kan eventuelt aktivere regnearket og deretter merke det navngitte området ved hjelp av metode 7 ovenfor:
Sheets("Sheet1").Activate
Range("Test").Select
				

9. Slik merker du et navngitt område i et regneark i en annen arbeidsbok

Hvis du vil merke det navngitte området Test i et regneark i en annen arbeidsbok, kan du bruke følgende eksempel:
Application.Goto _
   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
				
Du kan eventuelt aktivere regnearket og deretter merke det navngitte området ved hjelp av metode 7 ovenfor:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
				

10. Slik merker du en celle med utgangspunkt i den aktive cellen

Hvis du vil merke en celle som er fem rader under og fire kolonner til venstre for den aktive cellen, kan du bruke følgende eksempel:
ActiveCell.Offset(5, -4).Select
				
Hvis du vil merke en celle som er to rader over og tre rader til høyre for den aktive cellen, kan du bruke følgende eksempel:
ActiveCell.Offset(-2, 3).Select
				
Obs!  Det oppstår en feil hvis du forsøker å merke celler som er "utenfor regnearket". I det første eksemplet ovenfor får du en feilmelding hvis den aktive cellen er i kolonne A til D. Dette skjer fordi den aktive cellen vil bli flyttet til en ugyldig celleadresse hvis du går fire kolonner til venstre.

11. Slik merker du en celle med utgangspunkt i en annen celle som ikke er aktiv

Hvis du vil merke en celle som er fem rader under og fire kolonner til høyre for celle C7, kan du bruke et av følgende eksempler:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select
				
ActiveSheet.Range("C7").Offset(5, 4).Select
				

12. Slik merker du et celleområde som er forskjøvet sammenlignet med et angitt område

Hvis du vil merke et område som har samme størrelse som det navngitte området Test, men som er forskjøvet fire rader ned og tre kolonner til høyre, kan du bruke følgende eksempel:
ActiveSheet.Range("Test").Offset(4, 3).Select
				
Hvis det navngitte området er i et annet regneark (som ikke er aktivt), aktiverer du først dette regnearket og merker deretter området ved hjelp av følgende eksempel:
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
				

13. Slik merker du et angitt område og endre størrelse på området

Hvis du vil merke det navngitte området Database og deretter utvide det med fem rader, kan du bruke følgende eksempel:
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
   Selection.Columns.Count).Select
				

14. Slik merker du et angitt område, forskyve det og deretter endre områdets størrelse

Hvis du vil merke et område fire rader under og tre kolonner til høyre for det navngitte området Database og utvide det med to rader og én kolonne, kan du bruke følgende eksempel:
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
   Selection.Columns.Count + 1).Select
				

15. Slik merker du det samlede arealet ("unionen") av to eller flere angitte områder

Hvis du vil merke det samlede arealet av de to navngitte områdene Test og Sample, kan du bruke følgende eksempel:
Application.Union(Range("Test"), Range("Sample")).Select
				
Legg merke til at dette eksemplet kun fungerer hvis begge områdene befinner seg i samme regneark. Legg merke til at heller ikke Union-metoden fungerer på tvers av ark. Denne linjen, for eksempel, fungerer
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
				
mens denne linjen
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
				
gir feilmeldingen
Union method of application class failed

16. Slik merker du skjæringspunktet mellom to eller flere angitte områder

Hvis du vil merke skjæringspunktet for de to navngitte områdene Test og Sample, kan du bruke følgende eksempel:
Application.Intersect(Range("Test"), Range("Sample")).Select
				
Legg merke til at dette eksemplet kun fungerer hvis begge områdene befinner seg i samme regneark.



Eksempel 17?21 i denne artikkelen henviser til følgende eksempeldata. I hvert eksempel angis hvilket celleområde i eksempeldataene som skal merkes.
   A1: Name    B1: Sales    C1: Quantity
   A2: a       B2: $10      C2: 5
   A3: b       B3:          C3: 10
   A4: c       B4: $10      C4: 5
   A5:         B5:          C5:
   A6: Total   B6: $20      C6: 20
				

17. Slik merker du den siste cellen i en kolonne med sammenhengende data

Hvis du vil merke den siste cellen i en sammenhengende kolonne, kan du bruke følgende eksempel:
ActiveSheet.Range("a1").End(xlDown).Select
				
Når denne koden brukes sammen med eksempeltabellen, merkes celle A4.

18. Slik merker du den tomme cellen nederst i en kolonne med sammenhengende data

Hvis du vil merke en tom celle under et område med sammenhengende celler, kan du bruke følgende eksempel:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
				
Når denne koden brukes sammen med eksempeltabellen, merkes celle A5.

19. Slik merker du et helt område med sammenhengende celler i en kolonne

Hvis du vil merke et område med sammenhengende celler i en kolonne, kan du bruke et av følgende eksempler:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
				
   -or-
				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _
      End(xlDown).Address).Select
				
Når denne koden brukes sammen med eksempeltabellen, merkes cellene A1 til A4.

20. Slik merker du et helt område med ikke-sammenhengende celler i en kolonne

Hvis du vil merke et område med ikke-sammenhengende celler, kan du bruke et av følgende eksempler:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
				
   -or-
				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _
   End(xlUp).Address).Select
				
Når denne koden brukes sammen med eksempeltabellen, merkes cellene A1 til A6.

21. Slik merker du et rektangulært celleområde

Hvis du vil merke et rektangulært celleområde rundt en celle, bruker du CurrentRegion-metoden. Området som merkes ved hjelp av CurrentRegion-metoden, er et område som er avgrenset med en kombinasjon av tomme rader og tomme kolonner. Nedenfor ser du et eksempel på hvordan CurrentRegion-metoden kan brukes:
ActiveSheet.Range("a1").CurrentRegion.Select
				
Cellene A1 til C4 merkes ved hjelp av denne koden. Nedenfor har du flere eksempler som kan brukes til å merke samme område:
ActiveSheet.Range("a1", _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
				
   -or-
				
ActiveSheet.Range("a1:" & _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
				
La oss si at du vil merke cellene A1?C6. I dette eksemplet vil ikke CurrentRegion-metoden fungere fordi rad 5 er en tom linje. Følgende eksempler kan imidlertid brukes til å merke disse cellene:
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
				
    -or-
				
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & _
   ActiveSheet.Cells(lastRow, lastCol).Address).Select
				

22. Slik merker du flere ikke-sammenhengende kolonner med ulik lengde

Hvis du vil merke flere ikke-sammenhengende kolonner med ulik lenge, kan du bruke følgende eksempeltabell og makroeksempel:
   A1: 1  B1: 1  C1: 1  D1: 1
   A2: 2  B2: 2  C2: 2  D2: 2
   A3: 3  B3: 3  C3: 3  D3: 3
   A4:    B4: 4  C4: 4  D4: 4
   A5:    B5: 5  C5: 5  D5:
   A6:    B6:    C6: 6  D6:
				
StartRange = "A1"
EndRange = "C1"
Set a = Range(StartRange, Range(StartRange).End(xlDown))
Set b = Range(EndRange, Range(EndRange).End(xlDown))
Union(a,b).Select
				
Når denne koden brukes sammen med eksempeltabellen, merkes cellene A1:A3 og C1:C6.

MERKNADER OM EKSEMPLENE

  • Egenskapen ActiveSheet kan vanligvis utelates fordi denne er underforstått hvis det ikke er angitt noe bestemt ark. Eksempel: I stedet for
    ActiveSheet.Range("D5").Select
    						
    kan du bruke
    Range("D5").Select
    						
  • Egenskapen ActiveWorkbook kan også som oftest utelates. Med mindre en konkret arbeidsbok er angitt, er den aktive arbeidsboken underforstått.
  • Hvis du bruker Application.Goto-metoden og du ønsker å bruke to Cells-metoder innenfor Range-metoden når det angitte området befinner seg i et annet regneark (ikke det aktive), må du ta med Sheets-objektet hver gang. Eksempel:
    Application.Goto Sheets("Sheet1").Range( _
          Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
          Sheets("Sheet1").Cells(4, 5)))
    					
  • For alle elementer i anførselstegn (for eksempel det navngitte området "Test") er det dessuten mulig å bruke variabler som har en tekststreng som verdi. Eksempel: I stedet for
    ActiveWorkbook.Sheets("Sheet1").Activate
    						
    kan du bruke
    ActiveWorkbook.Sheets(myVar).Activate
    						
    der verdien for myVar er "Sheet1".

Referanser


Hvis du vil ha mer informasjon om hvordan du bruker eksempelkoden i denne artikkelen, klikker du artikkelnummeret nedenfor for å vise artikkelen i Microsoft Knowledge Base:
290140 Kjøre eksempelkode for Office XP-programmene fra Knowledge Base-artikler
Obs! Dette er en "FAST PUBLISH"-artikkel som er opprettet direkte innenfor Microsofts kundestøtteorganisasjon. Informasjonen her leveres "som den er" som svar på problemer som kan oppstå. Som et resultat av den korte tiden det tar å gjøre materialet tilgjengelig, kan det inneholde skrivefeil, og det kan når som helst og uten forvarsel bli revidert. Se Vilkår for bruk for mer informasjon.

Egenskaper

Artikkel-ID: 291308 - Forrige gjennomgang: 8. januar 2014 - Gjennomgang: 1.0
Informasjonen i denne artikkelen gjelder:
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
Nøkkelord: 
kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308

Gi tilbakemelding

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com