Du er offline. Venter på, at der oprettes forbindelse til internettet igen

Sådan markeres celler/områder ved hjælp af Visual Basic-fremgangsmåder i Excel

Support til Office 2003 er ophørt

Microsoft ophørte med at yde support til Office 2003 den 8. april 2014. Denne ændring har haft indflydelse på dine softwareopdateringer og sikkerhedsindstillinger. Se, hvad det betyder for dig, og hvordan du kan forblive beskyttet.

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").ActivateActiveSheet.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").ActivateActiveSheet.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").ActivateActiveSheet.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").ActivateRange("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").ActivateRange("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").ActivateActiveSheet.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").SelectSelection.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").SelectSelection.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).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select				
    -or-				
lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.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.
OfficeKBHowTo howto contiguous how to discontiguous non-contiguous nonadjacent non-adjacent  XL2003 XL2007 XL2010
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 udgave 01/08/2014 16:54:00 – Udgave 1.0

Microsoft Office Excel 2003, Microsoft Office Excel 2007, Microsoft Excel 2010

  • kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308
Feedback