Cum se utilizează VBA Range Offset (11 moduri)

  • Imparte Asta
Hugh West

Dacă sunteți în căutarea unora dintre cele mai simple modalități de a utiliza VBA Range Offset, atunci veți considera că acest articol a meritat. Să începem cu modalitățile de utilizare a VBA Decalaj de gamă.

Descărcați caietul de lucru

VBA Range Offset.xlsm

11 moduri de utilizare a decalajului intervalului VBA

Am următorul tabel de date care conține informații despre unii studenți ai unui colegiu. Folosind acest set de date, voi explica modalitățile de utilizare a VBA Decalaj de gamă.

În acest scop, am folosit Microsoft Excel 365 puteți utiliza orice altă versiune, în funcție de confortul dumneavoastră.

Metoda-1: Selectarea unei celule prin utilizarea VBA Range

Aici, vom selecta o celulă care conține numele Daniel Defoe. În acest scop, vom folosi Funcția RANGE în VBA .

Etapa-01 :

➤Vezi la Dezvoltator Tab>> Visual Basic Opțiunea

Apoi, se va trece la Editor Visual Basic se va deschide.

➤Vezi la Introduceți Tab>> Modul Opțiunea

După aceea, un Modul vor fi create.

Etapa-02 :

➤Scrieți următorul cod

 Sub SelectCell() Range("B8").Select End Sub 

Se va selecta celula B8 .

➤Presa F5

Rezultat :

În acest fel, veți obține celula care conține Daniel Defoe selectate.

Citește mai mult: Cum se utilizează obiectul Range din VBA în Excel

Metoda 2: Selectarea unui grup de celule învecinate prin utilizarea VBA Range

Puteți selecta un interval de celule contigue, cum ar fi Numele elevului și coloana Rezultat din tabelul următor, urmând această metodă.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub ContiguousCells() Range("B5:C10").Select End Sub 

Se vor selecta celulele din B5 la C10 .

➤Presa F5

Rezultat :

După aceea, veți obține celulele în Coloana B și Coloana C selectate.

Metoda 3: Selectarea unui grup de celule neconcordante utilizând VBA Range

Să presupunem că doriți să selectați elevii numiți William David și Michael Anthony inclusiv a celor doi ID e-mail Pentru a selecta aceste celule neconcordante, puteți urma această metodă.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub nonContiguous() Range("B6,D6,B9,D9").Select End Sub 

Se vor selecta celulele B6 , D6 , B9, și D9 .

➤Presa F5

Rezultat :

Apoi, veți obține celulele care conțin numele elevului. William David , Michael Anthony, și a respectivelor ID e-mail selectate.

Metoda 4: Selectarea unui grup de celule neconcordante și a unui interval utilizând VBA Range

Prin această metodă puteți selecta simultan un interval de celule și câteva celule necontinue.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub nonContiguouswithrange() Range("B5:B10,D6,D10").Select End Sub 

Se va selecta intervalul de celule din intervalul B5:B10 iar celelalte două celule D6 , D10 .

➤Presa F5

Rezultat :

După aceea, veți obține celulele din coloana Numele elevului și două ID-uri de e-mail pentru William David și Donald Paul selectate.

Metoda 5: Selectarea unei intervale utilizând VBA Range Offset

Puteți selecta un interval de celule în Coloana Nume elev prin utilizarea Funcția OFFSET .

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub selectrangeoffset() Range("A1:A6").Offset(4, 1).Select End Sub 

La început, Gama("A1:A6") va selecta intervalul A1:A6 , și apoi Offset(4, 1) va muta 4 rânduri în jos din celula A1 și o coloană în partea dreaptă. După aceea, numărul egal de celule din intervalul A1:A6 va fi selectat de aici.

➤Presa F5

Rezultat :

În acest fel, veți selecta coloana Numele elevului .

Metoda 6: VBA Range Offset Negativ

Puteți selecta Coloana Email Id urmând această metodă.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub negativerangeoffset() Range("F11:F16").Offset(-6, -2).Select End Sub 

La început, Gama("F11:F16") va selecta intervalul F11:F16 , și apoi Offset(-6, -2) va muta 6 rânduri în sus de la celula F11 și 2 coloane în partea stângă. După aceea, numărul egal de celule din intervalul F11:F16 va fi selectat de aici.

➤Presa F5

Rezultat :

După aceea, veți putea selecta coloana ID e-mail .

Lecturi similare:

  • VBA pentru fiecare celulă din interval în Excel (3 metode)
  • Cum se numără textul în Excel (7 trucuri simple)

Metoda 7: Selectarea unui interval în raport cu celula activă

Aici, avem o celulă activă (celula A1 ) și, în raport cu această celulă, vom selecta intervalul de date în această metodă.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub actvcell() Range(activecell.Offset(4, 1), activecell.Offset(9, 3)).Select End Sub 

Aici, activecell este A1

Prima parte activecell.Offset(4, 1) va selecta o celulă cu 4 rânduri în jos și o coloană în dreapta de la celula A1 și a doua parte activecell.Offset(9, 3) va selecta o celulă cu 9 rânduri în jos și 3 coloane în dreapta din celula A1 .

În cele din urmă, vor fi selectate toate celulele dintre aceste două celule.

➤Presa F5

Rezultat :

Apoi, veți putea selecta întregul interval de date.

Metoda 8: Copierea unui interval

Dacă doriți să copiați un interval de celule, atunci puteți urma această metodă.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub copyrangeoffset() Range("A1:A6").Offset(4, 1).Copy End Sub 

La început, Gama("A1:A6") va selecta intervalul A1:A6 , și apoi Offset(4, 1) va muta 4 rânduri în jos din celula A1 și o coloană în partea dreaptă. După aceea, numărul egal de celule din intervalul A1:A6 va fi selectat de aici.

În cele din urmă, se vor copia valorile din intervalul B5:B10 .

➤Presa F5

Rezultat :

După aceea, veți putea copia intervalul de date din Coloana Nume elev .

Metoda-9: Ștergerea unui interval

Aici, vom arăta cum să ștergem un interval de date folosind VBA cod.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub dltrangeoffset() Range("F11:F17").Offset(-7, -2).Delete End Sub 

În primul rând, Interval("F11:F17") va selecta intervalul F11:F17 , și apoi Offset(-7, -2) va muta 7 rânduri în sus de la celula F11 și 2 coloane în partea stângă. După aceea, numărul egal de celule din intervalul F11:F17 va fi selectat de aici.

În cele din urmă, se va șterge intervalul D4:D10 .

➤Presa F5

Rezultat :

În acest fel, veți copia intervalul de date din Coloana Email Id .

Metoda 10: Utilizarea VBA Range Offset pentru a introduce o valoare

Aici, avem o celulă goală ( am eliminat valoarea din această celulă pentru a explica această metodă) în Coloana Nume elev și dorim să o completăm cu numele Joseph Michael . prin utilizarea unui VBA putem introduce cu ușurință această valoare.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Joseph Michael" End Sub 

În primul rând, Gama("A1") va selecta celula A1 , și apoi Offset(6, 1) va muta 6 rânduri în jos din celula A1 și o coloană în partea dreaptă. După aceea, celula B7 va fi selectată și, în final, se va introduce valoarea "Joseph Michael" în această celulă.

➤Presa F5

Rezultat :

În acest fel, veți obține numele Joseph Michael în celulă B7 .

Metoda-11: Utilizarea VBA Range Offset pentru a obține ieșire

Să presupunem că doriți să scrieți A trecut sau Nu a reușit să corespundă la numele elevilor în funcție de Coloana de rezultate unde Treceți sau Eșec Pentru a găsi această subșiră în Coloana de rezultate și scrieți-o în Coloana Pass/Fail urmați această metodă.

Etapa-01 :

➤Follow Etapa-01 de Metoda-1

 Sub CheckSubstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(cell.value, "Pass")> 0 Then cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub 

Aici, intervalul de celule C5:C10 este selectat de Interval("C5:C10") care este Coloana de rezultate

InStr(cell. value, "Pass")> 0 este condiția în care numărul este mai mare decât zero (atunci când celula conține "Pas" ), atunci linia următoare va continua și va da rezultatul în celula adiacentă ca fiind A trecut Aici, celula adiacentă va fi selectată de către cell.Offset(0, 1) , ceea ce înseamnă că se va deplasa o coloană la dreapta față de celula de intrare.

În cazul în care condiția devine falsă înseamnă că o celulă nu conține nici o "Pas" atunci linia de sub Altfel se va executa și va da valoarea de ieșire în celula adiacentă sub forma A eșuat .

Această buclă va continua pentru fiecare celulă.

➤Presa F5

Rezultat :

Apoi, veți obține ieșirile A trecut sau nu a trecut în Trece / pică coloană.

Secțiunea practică

Pentru a face practică de unul singur am pus la dispoziție un Practică ca mai jos, într-o foaie numită Practică Vă rog să o faceți singur.

Concluzie

În acest articol, am încercat să acopăr cele mai simple moduri de a folosi VBA offset de interval în Excel în mod eficient. Sperăm că vă va fi de folos. Dacă aveți sugestii sau întrebări, nu ezitați să le împărtășiți cu noi.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.