Artikel-id: 291308 - Få vist de produkter, som denne artikel refererer til.
Udvid alle | Skjul alle

På denne side

Yderligere Information

Microsoft leverer kun programmeringseksempler som illustration ? uden nogen form for garanti, det være sig udtrykkelig eller underforstået. Dette omfatter, men er ikke begrænset til, det underforståede ansvar for salgbarhed eller egnethed til bestemte formål. Det forudsættes i denne artikel, at du kender ovennævnte programmeringssprog samt de værktøjer, der anvendes til at oprette og foretage fejlfinding i procedurer. Microsofts supportmedarbejdere kan hjælpe med at forklare funktionaliteten i en bestemt procedure, men vil ikke ændre eksemplerne, så de giver yderligere funktionalitet, eller oprette procedurer, der passer specielt til dine behov. Eksemplerne i denne artikel benytter de Visual Basic-metoder, der er angivet 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
				
Eksemplerne i denne artikel bruger egenskaberne i følgende tabel.
   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: Sådan markerer du en celle i det aktive regneark

Hvis du vil markere celle D5 i det aktive regneark, kan du bruge et af følgende eksempler:
ActiveSheet.Cells(5, 4).Select
				
eller
ActiveSheet.Range("D5").Select
				

2: Sådan markerer du en celle i et andet regneark i samme projektmappe

Hvis du vil markere celle E6 i et andet regneark i samme projektmappe, kan du bruge et af følgende eksempler:
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
				
   -or-
				
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
				
Eller du kan aktivere regnearket og derefter benytte metode 1 ovenfor til at markere cellen:
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
				

3: Sådan markerer du en celle i et regneark i en anden projektmappe

Hvis du vil markere celle F7 i et regneark i en anden projektmappe, kan du bruge et af følgende eksempler:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
				
eller
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
				
Eller du kan aktivere regnearket og derefter bruge metode 1 ovenfor for at markere cellen:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
				

4: Sådan markerer du et celleområde i det aktive regneark

Hvis du vil markere området C2:D10 i det aktive regneark, kan du bruge et af følgende eksempler:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
				
ActiveSheet.Range("C2:D10").Select
				
ActiveSheet.Range("C2", "D10").Select
				

5: Sådan markerer du et celleområde i et andet regneark i samme projektmappe

Hvis du vil markere området D3:E11 i et andet regneark i samme projektmappe, kan du bruge et af følgende eksempler:
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
				
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
				
Eller du kan aktivere regnearket og derefter benytte metode 4 ovenfor til at markere området:
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
				

6: Sådan markerer du et celleområde i et regneark i en anden projektmappe

Hvis du vil markere området E4:F12 i et regneark i en anden projektmappe, kan du bruge et af følgende eksempler:
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
				
Application.Goto _
      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
				
Eller du kan aktivere regnearket og derefter bruge metode 4 ovenfor for at markere området:
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
				

7: Sådan markerer du et navngivet område i det aktive regneark

Hvis du vil markere det navngivne område "Test" i det aktive regneark, kan du bruge et af følgende eksempler:
Range("Test").Select
				
Application.Goto "Test"
				

8: Sådan markerer du et navngivet celleområde i et andet regneark i samme projektmappe

Hvis du vil markere det navngivne område "Test" i et andet regneark i samme projektmappe, kan du bruge følgende eksempel:
Application.Goto Sheets("Sheet1").Range("Test")
				
Eller du kan aktivere regnearket og derefter benytte metode 7 ovenfor til at markere det navngivne område:
Sheets("Sheet1").Activate
Range("Test").Select
				

9: Sådan markerer du et navngivet celleområde i et regneark i en anden projektmappe

Hvis du vil markere det navngivne område "Test" i et regneark i en anden projektmappe, kan du bruge følgende eksempel:
Application.Goto _
   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
				
Eller du kan aktivere regnearket og derefter bruge metode 7 ovenfor for at markere de navngivne celler:
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
				

10: Sådan markerer du en celle, der ikke støder op til den aktive celle

Hvis du vil markere en celle, der er placeret fem rækker under og fire kolonner til venstre for den aktive celle, kan du bruge følgende eksempel:
ActiveCell.Offset(5, -4).Select
				
Hvis du vil markere en celle, der er placeret to rækker over og tre kolonner til højre for den aktive celle, kan du benytte følgende eksempel:
ActiveCell.Offset(-2, 3).Select
				
Bemærk! Der vil opstå en fejl, hvis du forsøger at markere en celle, der er "ligger uden for regnearket". Det første eksempel, der er vist ovenfor, vil returnere en fejl, hvis den aktive celle findes i kolonnerne A til og med D, fordi den aktive celle flyttes til en ugyldig celleadresse, hvis du flytter fire kolonner til venstre.

11: Sådan markerer du en celle, der ikke støder op til en anden celle end den aktive celle

Hvis du vil markere en celle, der er placeret fem rækker under og fire kolonner til venstre for Celle C7, kan du bruge følgende eksempel:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select
				
ActiveSheet.Range("C7").Offset(5, 4).Select
				

12: Sådan markerer du celler, der er forskudt i forhold til et specificeret celleområde

Hvis du vil markere et celleområde, der har samme størrelse som det navngivne celleområde "Test", men som er forskudt fire rækker nedad og tre kolonner til højre, kan du bruge følgende eksempel:
ActiveSheet.Range("Test").Offset(4, 3).Select
				
Hvis det navngivne område findes i et andet regneark (ikke det aktive regneark), skal du først aktivere det pågældende regneark og derefter markere området ved hjælp af følgende eksempel:
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
				

13: Sådan markerer du et angivet område og ændrer størrelsen på markeringen

Hvis du vil markere det navngivne område "Database" og derefter udvide markeringen med fem rækker, kan du bruge følgende eksempel:
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
   Selection.Columns.Count).Select
				

14: Sådan markerer du et angivet område, forskyder det og derefter ændrer størrelsen på det

Hvis du vil markere et område, der ligger fire rækker nedenunder og tre kolonner til højre for det navngivne område "Database" og inkludere to rækker og én kolonne mere end det navngivne område, kan du bruge følgende eksempel:
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
   Selection.Columns.Count + 1).Select
				

15: Sådan markerer du to eller flere forenede angivne områder

Hvis du vil markere foreningen (dvs. det kombinerede område) af de to navngivne områder "Test" og "Eksempel", kan du bruge følgende eksempel:
Application.Union(Range("Test"), Range("Sample")).Select
				
Vær opmærksom på, at begge områder skal findes i det samme regneark, hvis dette eksempel skal fungere. Du skal også være opmærksom på, at metoden Union ikke fungerer på tværs af ark. For eksempel fungerer denne linje fint
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
				
men denne linje
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet2!C3:D4"))
				
returnerer fejlmeddelelsen:
Metoden Foreningsmængde for programklassen mislykkedes

16: Sådan markerer du overlapningen mellem to eller flere angivne områder

Hvis du vil markere overlapningen mellem de to navngivne områder "Test" og "Eksempel", kan du bruge følgende eksempel:
Application.Intersect(Range("Test"), Range("Sample")).Select
				
Vær opmærksom på, at begge områder skal findes i det samme regneark, hvis dette eksempel skal fungere.



Eksemplerne 17-21 i denne artikel henviser til følgende datasæteksempel. Hvert eksempel angiver det celleområde i eksempeldataene, der markeres.
   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: Sådan markerer du den sidste celle i en kolonne med sammenhængende data

Hvis du vil markere den sidste celle i en sammenhængende kolonne, kan du bruge følgende eksempel:
ActiveSheet.Range("a1").End(xlDown).Select
				
Når denne kode bruges sammen med eksempeltabellen, markeres celle A4.

18: Sådan markerer du den tomme celle nederst i en kolonne med sammenhængende data

Hvis du vil markere cellen under et område med sammenhængende celler, kan du bruge følgende eksempel:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
				
Når denne kode bruges sammen med eksempeltabellen, markeres celle A5.

19: Sådan markerer du et helt område med sammenhængende celler i en kolonne

Hvis du vil markere et område med sammenhængende celler i en kolonne, kan du bruge 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 kode bruges sammen med eksempeltabellen, markeres cellerne A1 til og med A4.

20: Sådan markerer du et helt område med celler, der ikke er sammenhængende, i en kolonne

Hvis du vil markere et område med celler, der ikke er sammenhængende, i en kolonne, kan du bruge 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 kode bruges sammen med eksempeltabellen, markeres cellerne A1 til og med A6.

21: Sådan markerer du et rektangulært celleområde

Hvis du vil markere et rektangulært celleområde omkring en celle, skal du bruge metoden Aktuelt område. Det område, der markeres af metoden CurrentRegion, er et område, der er bundet af en hvilken som helst kombination af tomme rækker og tomme kolonner. Nedenfor er vist et eksempel på, hvordan du benytter metoden CurrentRegion:
ActiveSheet.Range("a1").CurrentRegion.Select
				
Denne kode markerer cellerne A1 til og med C4. Nedenfor er der angivet andre eksempler, du kan bruge til at markere det samme celleområ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
				
I nogle tilfælde vil du måske markere cellerne A1 til og med C6. I dette eksempel fungerer metoden CurrentRegion ikke på grund af den tomme linje i række 5. Følgende eksempler markerer alle cellerne:
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. Sådan markerer du flere kolonner, der ikke er sammenhængende, og som har forskellige længder

Hvis du vil markere kolonner, der ikke er sammenhængende, og som har forskellige længder, kan du bruge følgende eksempeltabel 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 kode bruges sammen med eksempeltabellen, markeres cellerne A1:A3 og C1:C6.

BEMÆRKNINGER TIL EKSEMPLERNE

  • Egenskaben ActiveSheet kan normalt udelades, da den er underforstået, hvis et specifikt ark ikke er navngivet. For eksempel i stedet for
    ActiveSheet.Range("D5"). Vælg
    						
    kan du bruge:
    Range("D5").Select
    						
  • Egenskaben ActiveWorkbook kan normalt også udelades. Medmindre en specifik projektmappe er navngivet, er den aktive projektmappe underforstået.
  • Når du benytter metoden Application.Goto, skal du medtage objektet Sheets hver gang, hvis du vil benytte to metoder af typen Cells i metoden Range, når det angivne område findes i et andet regneark (ikke det aktive regneark). F.eks.:
    Application.Goto Sheets("Sheet1").Range( _
          Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
          Sheets("Sheet1").Cells(4, 5)))
    					
  • I stedet for elementet i anførselstegn (f.eks. det navngivne område "Test") kan du også bruge en variabel, hvis værdi er en tekststreng. For eksempel i stedet for
    ActiveWorkbook.Sheets("Sheet1").Activate
    						
    kan du bruge
    ActiveWorkbook.Sheets(myVar).Activate
    						
    hvor værdien for myVar er "Sheet1".

Referencer


Du kan finde flere oplysninger om, hvordan du bruger eksempelkoden i denne artikel, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
290140 Sådan køres eksempelkoden til Office XP-programmerne fra vidensbaseartikler. Artiklen er evt. på engelsk.
Bemærk! Dette er en artikel til hurtig udgivelse, som er oprettet direkte i Microsofts supportafdeling. Oplysningerne i artiklen præsenteres som de og behandler aktuelle problemer. Fordi artiklen er blevet udgivet hurtigt, kan der forekomme slåfejl, og artiklen kan blive redigeret uden varsel. Se andre forbehold under Vilkår for anvendelse.

Egenskaber

Artikel-id: 291308 - Seneste redigering: 8. januar 2014 - Redigering: 1.0
Oplysningerne i denne artikel gælder:
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
Nøgleord: 
kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308

Send feedback

 

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