Visual Basicu protseduuride abil Exceli lahtrite ja vahemike valimine

Lisateabe saamiseks

Microsoft pakub programmeerimisnäiteid ainult artikli illustreerimiseks ilma igasuguse otsese või kaudse garantiita. See hõlmab, kuid ei piirdu kaudseid garantiisid turustatavuse või kindlaks otstarbeks sobivusega. See artikkel eeldab, et olete demonstreeritava programmeerimiskeelega programmeerimise keel ning luua protseduuride ja silumiseks kasutatavate tööriistadega tuttav. Microsofti tugitehnikud võivad aidata mõne konkreetse protseduuri funktsiooni selgitada, kuid ei muuda nad neid näiteid lisafunktsioonide pakkumiseks ega Koosta vastavaid protseduure teie konkreetsetele nõuetele. Selles artiklis toodud näidetes kasutada järgmises tabelis loetletud Visual Basicu meetodeid.
   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

Selles artiklis toodud näidetes kasutada atribuute järgmises tabelis.
   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: aktiivse töölehe lahtri valimine

Aktiivse töölehe lahtri D5 valimiseks kasutage üht järgmistest näidetest.
ActiveSheet.Cells(5, 4).Select
- või -
ActiveSheet.Range("D5").Select

2: sama töövihiku teisel töölehel lahtri valimine

Sama töövihiku teisel töölehel lahtri E6 valimiseks kasutage üht järgmistest näidetest.
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)
   -or-

Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))
Või saate aktiveerida töölehe ja seejärel kasutada lahtri valimiseks eesolevat meetodit 1.
Sheets("Sheet2").ActivateActiveSheet.Cells(6, 5).Select

3: teise töövihiku töölehel lahtri valimine

Teise töövihiku töölehel lahtri F7 valimiseks kasutage ü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").ActivateActiveSheet.Cells(7, 6).Select

4: aktiivse töölehe lahtrite vahemiku valimine

C2:D10 aktiivsel töölehel vahemiku valimiseks kasutage ü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: sama töövihiku teisel töölehel lahtrite vahemiku valimine

Sama töövihiku teisel töölehel D3:E11 vahemiku valimiseks kasutage ü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").ActivateActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select

6: teise töövihiku töölehel lahtrite vahemiku valimine

Teise töövihiku töölehel E4:F12 vahemiku valimiseks kasutage ü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

Aktiivse töölehe nimega vahemiku "Test" valimiseks kasutage üht järgmistest näidetest.
Range("Test").Select
Application.Goto "Test"

8: sama töövihiku teisel töölehel nimega vahemiku valimine

Valimiseks sama töövihiku teisel töölehel nimega vahemik "Test" 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").ActivateRange("Test").Select

9: teise töövihiku töölehel nimega vahemiku valimine

Valimiseks teise töövihiku töölehel nimega vahemik "Test" 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").ActivateRange("Test").Select

10: lahtri suhtelise aktiivse lahtri valimine

Lahtrist viis rida all ja neli veergu vasakul aktiivse lahtri valimiseks saate kasutada üht järgmistest näidetest:
ActiveCell.Offset(5, -4).Select
Lahtrist kaks rida üleval ja kolm veergu paremal oleva aktiivse lahtri valimiseks saate kasutada üht järgmistest näidetest:
ActiveCell.Offset(-2, 3).Select
Märkus. Tõrge ilmneb juhul, kui proovite valida lahtri, mis on "välja töölehe." Esimene üleval toodud näide tagastab tõrke, kui aktiivne lahter asub veergudes A kuni D, kuna neli veergu vasakul viiks aktiivse lahtri valele lahtri aadressile.

11: Kuidas valida lahtri suhtelise teise (mitte aktiivse) lahter

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

12: lahtrite vahemiku nihe määratud vahemiku valimine

Vahemiku lahtrid, mis on sama suur kui vahemik nimega "Test", kuid see on nihutatud neli rida all ja kolm veergu paremal valimiseks 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 üht järgmistest näidetest:
Sheets("Sheet3").ActivateActiveSheet.Range("Test").Offset(4, 3).Select

13: kuidas määratud vahemiku valimine ja valiku suuruse muutmine

Valige vahemik nimega "Andmebaas" ja seejärel valiku laiendamiseks viie rea kaupa, saate kasutada üht järgmistest näidetest:
Range("Database").SelectSelection.Resize(Selection.Rows.Count + 5, _
Selection.Columns.Count).Select

14: määratud vahemiku valimine, selle maha arvata ja seejärel selle suurust muuta

Valige vahemik neli rida all ja kolm veergu paremal nimega vahemik "Andmebaasi" ja kaks rida ja ühe veeru enam kui nimega vahemik, saate kasutada üht järgmistest näidetest:
Range("Database").SelectSelection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _
Selection.Columns.Count + 1).Select

15: valimine Liidu kahe või enama määratud vahemiku

"Test" ja "Proovi" kahe nimega vahemiku ühendi (mis on kombineeritud ala) valimiseks saate kasutada üht järgmistest näidetest:
Application.Union(Range("Test"), Range("Sample")).Select
Pange tähele, et mõlemad vahemikud peavad olema samal töölehel selle näite toimimiseks. Pange tähele, et Liidu meetod 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("Sheet2!C3:D4"))
Tagastab järgmise tõrketeate:
Rakenduse ühendusmeetod nurjus

16: kuidas valimine kahe või enama määratud vahemiku

"Test" ja "Proovi" kahe nimega vahemiku ühisosa valimiseks saate kasutada üht järgmistest näidetest:
Application.Intersect(Range("Test"), Range("Sample")).Select
Pange tähele, et mõlemad vahemikud peavad olema samal töölehel selle näite toimimiseks.



Selles artiklis toodud näidetes 17 21 Vt järgmist näidet andmehulka. Igas näites ütleb näidisandmeid, et oleks valitud lahtrite vahemik.
   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: a külgneva andmeveeru viimase lahtri valimine

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


18: Kuidas valida tühja lahtrisse veeru külgnevate andmete all

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


19: veerus on 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
   -or-

ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _      End(xlDown).Address).Select

Kui seda koodi kasutatakse näidistabeliga, valitakse lahtrid A1 kuni A4.

20: valimine on kogu vahemik on mittekülgneva veeru lahtrid

Külgnevate lahtrite vahemiku valimiseks kasutage üht järgmistest näidetest.
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select
   -or-

ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _   End(xlUp).Address).Select

Kui seda koodi kasutatakse näidistabeliga, valib see lahtrid A1 kuni A6.

21: lahtrite ristkülikukujulise vahemiku valimine

Lahtrit ümbritseva lahtrite ristkülikukujulise vahemiku valimiseks kasutage meetodit CurrentRegion . Valitud CurrentRegion meetodiga vahemik on piiratud kombinatsioone, tühjade ridade ja veergude tühja ala. Järgnev on näide CurrentRegion meetodit kasutada:
ActiveSheet.Range("a1").CurrentRegion.Select
See kood valib lahtrid A1 kuni C4. Allpool on toodud muud näited sama lahtrivahemiku valimiseks.
ActiveSheet.Range("a1", _   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select

   -or-

ActiveSheet.Range("a1:" & _   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select

Mõnel juhul võite valida lahtreid A1 kuni C6. Selles näites CurrentRegion meetod ei tööta tühja rea tõttu rida 5. Järgmised näited valige kõik lahtrid.
lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select

    -or-

lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1:" & _
ActiveSheet.Cells(lastRow, lastCol).Address).Select

22. mitme mitme eri pikkusega mittekülgneva veeru valimiseks

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

  • ActiveSheet vara saab tavaliselt puudub, kuna seda rakendatakse siis, kui teatud lehte pole nimetatud. Näiteks selle asemel
    ActiveSheet.Range("D5").Select
    saate kasutada:
    Range("D5").Select
  • Atribuudi ActiveWorkbook saab enamasti ka välja jätta. Kui teatud töövihik pole nimetatud, rakendatakse aktiivset töövihikut.
  • Kui kasutate Application.Goto meetodit, kui soovite kasutada kahe rakud meetodite ulatuse meetodi kui määratud vahemik on teise (mitte aktiivse) töölehel, peate kaasama lehed objekti iga kord. Näiteks:
    Application.Goto Sheets("Sheet1").Range( _      Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 3), _
    Sheets("Sheet1").Cells(4, 5)))

  • Elementide jutumärgid (nt nimega vahemik "Test"), saate kasutada ka muutuja, mille väärtuseks on tekstistring. Näiteks selle asemel
    ActiveWorkbook.Sheets("Sheet1").Activate
    saate kasutada
    ActiveWorkbook.Sheets(myVar).Activate
    kus minu muutuja väärtus on "Sheet1".

Viited


Selles artiklis näidiskoodi kasutamise kohta lisateabe saamiseks klõpsake Microsofti teabebaasi (Knowledge Base) artikli kuvamiseks järgmist artiklinumbrit:

290140 kuidas juhtida Office XP programmide näidiskoodi teabebaasi (Knowledge Base) artikleid:

Atribuudid

Artikli ID: 291308 – viimati läbi vaadatud: 24. jaan 2017 – redaktsioon: 1

Tagasiside