Exceli lahtrite ja vahemike valimine Visual Basicu protseduuride abil

Artikli ID: 291308 - Vaadake tooteid, millega see artikkel seostub.
Laienda kõik | Ahenda kõik

Sellel veebilehel

Lisateave

Microsoft pakub programmeerimisnäiteid ainult artikli illustreerimiseks ilma igasuguse otsese või kaudse garantiita. See hõlmab (kuid mitte ainult) turustatavuse või kindlaks otstarbeks sobivusega seotud kaudseid garantiisid. Selles artiklis eeldatakse, et olete demonstreeritava programmeerimiskeelega ning protseduuride loomiseks ja silumiseks kasutatavate tööriistadega tuttav. Microsofti tugitehnikud võivad aidata mõne konkreetse protseduuri funktsiooni selgitada, kuid nad ei muuda neid näiteid lisafunktsioonide pakkumiseks ega koosta teie konkreetsetele nõuetele vastavaid protseduure. Selles artiklis toodud näidetes kasutatakse järgmises tabelis loetletud Visual Basicu meetodeid.
   Meetod             Argumendid
   ------------------------------------------
   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
				
Selles artiklis toodud näidetes kasutatakse järgmises tabelis olevaid atribuute.
   Atribuut         kasutamine
   ---------------------------------------------------------------------
   ActiveSheet      aktiivse lehe määramine
   ActiveWorkbook   aktiivse töövihiku määramine
   Columns.Count    määratud üksuse veergude loendamine
   Rows.Count       määratud üksuse ridade loendamine
   Selection        hetkel valitud vahemikule viitamine
				

1. Aktiivse töölehe lahtri valimine

Lahtri D5 valimiseks aktiivsel töölehel saate kasutada üht järgmistest näidetest.
ActiveSheet.Cells(5, 4).Select
				
või
ActiveSheet.Range("D5").Select
				

2. Lahtri valimine sama töövihiku teisel töölehel

Lahtri E6 valimiseks sama töövihiku teisel töölehel saate kasutada üht järgmistest näidetest.
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
				
   või
				
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
				
Või saate aktiveerida töölehe ja seejärel kasutada lahtri valimiseks eesolevat meetodit 1.
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select
				

3. Lahtri valimine teise töövihiku töölehel

Lahtri F7 valimiseks teise töövihiku töölehel saate kasutada üht järgmistest näidetest.
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Cells(7, 6)
				
või
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("F7")
				
Või saate aktiveerida töölehe ja seejärel kasutada lahtri valimiseks eesolevat meetodit 1.
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
ActiveSheet.Cells(7, 6).Select
				

4. Aktiivse töölehe lahtrite vahemiku valimine

Vahemiku C2:D10 valimiseks aktiivsel töölehel saate kasutada üht järgmistest näidetest.
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select
				
ActiveSheet.Range("C2:D10").Select
				
ActiveSheet.Range("C2", "D10").Select
				

5. Lahtrite vahemiku valimine sama töövihiku teisel töölehel

Vahemiku D3:E11 valimiseks sama töövihiku teisel töölehel saate kasutada üht järgmistest näidetest.
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
				
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")
				
Või saate aktiveerida töölehe ja seejärel kasutada vahemiku valimiseks eesolevat meetodit 4.
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select
				

6. Lahtrite vahemiku valimine teise töövihiku töölehel

Vahemiku E4:F12 valimiseks teise töövihiku töölehel saate kasutada üht järgmistest näidetest.
Application.Goto Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4:F12")
				
Application.Goto _
      Workbooks("BOOK2.XLS").Sheets("Sheet1").Range("E4", "F12")
				
Või saate aktiveerida töölehe ja seejärel kasutada vahemiku valimiseks eesolevat meetodit 4.
Workbooks("BOOK2.XLS").Sheets("Sheet1").Activate
   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select
				

7: Aktiivse töölehe nimega vahemiku valimine

Test nimega vahemiku valimiseks aktiivsel töölehel saate kasutada üht järgmistest näidetest.
Range("Test").Select
				
Application.Goto "Test"
				

8. Nimega vahemiku valimine sama töövihiku teisel töölehel

Vahemiku nimega Test valimiseks sama töövihiku teisel töölehel saate kasutada üht järgmistest näidetest.
Application.Goto Sheets("Sheet1").Range("Test")
				
Või saate aktiveerida töölehe ja seejärel kasutada nimega vahemiku valimiseks eesolevat meetodit 7.
Sheets("Sheet1").Activate
Range("Test").Select
				

9. Nimega vahemiku valimine teise töövihiku töölehel

Test nimega vahemiku valimiseks teise töövihiku töölehel saate kasutada üht järgmistest näidetest.
Application.Goto _
   Workbooks("BOOK2.XLS").Sheets("Sheet2").Range("Test")
				
Või saate aktiveerida töölehe ja seejärel kasutada nimega vahemiku valimiseks eesolevat meetodit 7.
Workbooks("BOOK2.XLS").Sheets("Sheet2").Activate
Range("Test").Select
				

10. Aktiivse lahtriga seonduva lahtri valimine

Aktiivsest lahtrist viis rida all ja neli veergu vasakul oleva lahtri valimiseks saate kasutada üht järgmistest näidetest.
ActiveCell.Offset(5, -4).Select
				
Aktiivsest lahtrist kaks rida üleval ja kolm veergu paremal asuva lahtri valimiseks saate kasutada üht järgmistest näidetest.
ActiveCell.Offset(-2, 3).Select
				
Märkus. Kui proovite valida lahtri, mis on töölehelt väljas, tekib tõrge. Esimene üleval toodud näide tagastab tõrke, kui aktiivne lahter asub veergudes A kuni D, kuna nelja veeru võrra vasakule liikumine viiks aktiivse lahtri valele lahtri aadressile.

11. Teise (mitteaktiivse) lahtriga seonduva lahtri valimine

Lahtrist C7 viis rida all ja neli veergu paremal oleva lahtri valimiseks saate kasutada üht järgmistest näidetest.
ActiveSheet.Cells(7, 3).Offset(5, 4).Select
				
ActiveSheet.Range("C7").Offset(5, 4).Select
				

12. Määratud vahemikust nihkes olevate lahtrite vahemiku valimine

Lahtrite vahemiku valimiseks, mis on sama suurus, kui vahemik nimega Test, kuid neli rida alla ja kolm veergu paremale nihutatud, saate kasutada üht järgmistest näidetest.
ActiveSheet.Range("Test").Offset(4, 3).Select
				
Kui nimega vahemik on teisel (mitteaktiivsel) töölehel, aktiveerige esmalt tööleht ja seejärel valige vahemik, kasutades järgmist näidet.
Sheets("Sheet3").Activate
ActiveSheet.Range("Test").Offset(4, 3).Select
				

13. Määratud vahemiku valimine ja valiku suuruse muutmine

Vahemiku nimega Andmebaas valimiseks ja seejärel valiku laiendamiseks viie rea kaupa saate kasutada järgmist näidet.
Range("Database").Select
Selection.Resize(Selection.Rows.Count + 5, _
   Selection.Columns.Count).Select
				

14. Määratud vahemiku valimine, selle nihutamine ja seejärel selle suuruse muutmine

Vahemikust nimega Andmebaas neli rida all ja kolm veergu paremal oleva vahemiku valimiseks ja nimega vahemikust kahe rea ja ühe veeru enam kaasamiseks saate kasutada üht järgmistest näidetest.
Range("Database").Select
Selection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
   Selection.Columns.Count + 1).Select
				

15. Kahe või enama määratud vahemiku ühendi valimine

Kahe nimega vahemiku Test ja Näidis ühendi (mis on kombineeritud ala) valimiseks saate kasutada järgmist näidet.
Application.Union(Range("Test"), Range("Sample")).Select
				
Pange tähele, et mõlemad vahemikud peavad selle näite toimimiseks olema samal töölehel. Pöörake tähelepanu ka sellele, et meetod Agregaat ei toimi eri lehtede vahel. Näiteks toimib hästi järgmine rida.
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
				
kuid see rida
Set y = Application.Union(Range("Sheet1!A1:B2"), Range("Sheet1!C3:D4"))
				
tagastab järgmise tõrketeate.
Rakenduse ühendusmeetod nurjus.

16. Kahe või enama määratud vahemiku ühisosa valimine

Kahe nimega vahemiku Test ja Näidis ühisosa valimiseks saate kasutada järgmist näidet.
Application.Intersect(Range("Test"), Range("Sample")).Select
				
Pange tähele, et mõlemad vahemikud peavad selle näite toimimiseks olema samal töölehel.



Käesolevas artiklis toodud näited 17?21 viitavad järgmisetele andmete näidiskomplektidele. Igas näites on toodud valitavate lahtrite vahemik näidisandmetes.
   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. Külgneva andmeveeru viimase lahtri valimine

Külgneva veeru viimase lahtri valimiseks kasutage järgmist näidet.
ActiveSheet.Range("a1").End(xlDown).Select
				
Kui seda koodi kasutatakse näidistabeliga, valitakse lahter A4.

18. Külgneva andmeveeru all oleva tühja lahtri valimine

Külgnevate lahtrite vahemiku all oleva lahtri valimiseks kasutage järgmist näidet.
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select
				
Kui seda koodi kasutatakse näidistabeliga, valitakse lahter A5.

19. Veeru kogu külgnevate lahtrite vahemiku valimine

Veeru külgnevate lahtrite vahemiku valimiseks kasutage üht järgmistest näidetest.
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select
				
   või
				
ActiveSheet.Range ("a1:" & ActiveSheet.Range("a1"). _
      End(xlDown).Address).Select
				
Kui seda koodi kasutatakse näidistabeliga, valitakse lahtrid A1 kuni A4.

20. Veeru kogu mittekülgnevate lahtrite vahemiku valimine

Veeru mittekülgnevate lahtrite vahemiku valimiseks kasutage üht järgmistest näidetest.
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
				
   või
				
ActiveSheet.Range ("a1:" & ActiveSheet.Range("a65536"). _
   End(xlUp).Address).Select
				
Kui seda koodi kasutatakse koos näidistabeliga, valib see lahtrid A1 kuni A6.

21. Lahtrite ristkülikukujulise vahemiku valimine

Lahtrit ümbritseva lahtrite ristkülikukujulise vahemiku valimiseks kasutage meetodit CurrentRegion. Meetodi CurrentRegion valitud vahemik on piiritletud mistahes tühjade ridade ja veergude kombinatsiooniga. Järgnev on näide meetodi CurrentRegion kasutamise kohta.
ActiveSheet.Range("a1").CurrentRegion.Select
				
See kood valib lahtrid A1 kuni C4. Järgmiselt on toodud muud näited sama lahtrivahemiku valimiseks.
ActiveSheet.Range ("a1" _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select
				
   või
				
ActiveSheet.Range ("a1:" & _
   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select
				
Mõnedel juhtudel võite soovida valida lahtreid A1 kuni C6. Selles näites meetod CurrentRegion ei toimi tühja rea tõttu 5. real. Järgmiste näidete abil valitakse kõik lahtrid.
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
				
    või
				
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. Mitme eri pikkusega mittekülgnevate veergude valimine

Mitme eri pikkusega mittekülgneva veeru valimiseks kasutage järgmist näidistabelit ja makro näidet.
   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
				
Kui seda koodi kasutatakse näidistabeliga, valitakse lahtrid A1:A3 ja C1:C6.

MÄRKUSED NÄIDETE KOHTA

  • Atribuudi ActiveSheet saab enamasti ka välja jätta, kuna seda rakendatakse siis, kui teatud lehte pole nimetatud. Näiteks järgmise asemel
    ActiveSheet.Range("D5").Select
    						
    saate kasutada järgmist.
    Range("D5").Select
    						
  • Atribuudi ActiveWorkbook saab tavaliselt samuti välja jätta. Juhul kui teatud töövihik pole nimetatud, rakendatakse aktiivset töövihikut.
  • Kui kasutate meetodit Application.Goto, soovite kasutada kaht meetodit Cells meetodi Range raames, kui määratud vahemik on teisel (mitteaktiivsel) töölehel, peate iga kord kaasama objekti Sheets. Näiteks.
    Application.Goto Sheets("Sheet1").Range( _
          Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
          Sheets("Sheet1").Cells(4, 5)))
    					
  • Jutumärkides elementide (nt nimega vahemik Test) puhul saate kasutada ka muutujat, mille väärtuseks on tekstistring. Näiteks järgmise asemel
    ActiveWorkbook.Sheets("Sheet1").Activate
    						
    saate kasutada järgmist.
    ActiveWorkbook.Sheets(myVar).Activate
    						
    kus minu muutuja myVar väärtus on Sheet1.

Viited


Lisateabe saamiseks näidiskoodi kasutamise kohta selles artiklis klõpsake artikli kuvamiseks Microsofti teabebaasis järgmisel artiklinumbril.
290140 Office XP programmide näidiskoodi käitamine teabebaasi artiklitest (võib olla inglise keeles)
Märkus. See artikkel on otse Microsofti tugiorganisatsioonist loodud artikkel ?FAST PUBLISH? (Kiiravaldamine). Selles sisalduv teave edastatakse probleemide ilmnemisel olemasoleval kujul. Kiiresti kättesaadavaks muutmise tõttu võib materjalides esineda trükivigu ja neid võidakse mis tahes ajal ette teatamata parandada. Muude asjaolude korral vaadake kasutustingimusi.

Atribuudid

Artikli ID: 291308 - Viimati läbi vaadatud: 1. august 2012. a. - Redaktsioon: 1.0
Kehtib järgmise lõigu kohta:
  • Microsoft Office Excel 2003
  • Microsoft Office Excel 2007
  • Microsoft Excel 2010
Märksõnad: 
kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308

Andke tagasisidet