Hoe VBA Range Offset gebruiken (11 manieren)

  • Deel Dit
Hugh West

Als u op zoek bent naar enkele van de gemakkelijkste manieren om VBA Range Offset, dan zul je dit artikel de moeite waard vinden. Laten we beginnen met de manieren om de VBA Range Offset.

Werkboek downloaden

VBA Range Offset.xlsm

11 manieren om VBA Range Offset te gebruiken

Ik heb de volgende gegevenstabel met informatie over een aantal studenten van een hogeschool. Aan de hand van deze gegevenstabel zal ik uitleggen hoe je de VBA Range Offset.

Hiervoor heb ik gebruik gemaakt van Microsoft Excel 365 versie, kunt u andere versies gebruiken, afhankelijk van uw gemak.

Methode-1: een cel selecteren met behulp van VBA Range

Hier selecteren we een cel met de naam Daniel Defoe. Daartoe gebruiken wij de BEREIK functie in VBA .

Step-01 :

Ga naar Ontwikkelaar Tab>> Visual Basic Optie

Dan, de Visual Basic-editor gaat open.

Ga naar Plaats Tab>> Module Optie

Daarna, een Module zal worden gecreëerd.

Step-02 :

Schrijf de volgende code

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

Het zal cel selecteren B8 .

➤Press F5

Resultaat :

Op deze manier krijgt u de cel met daarin Daniel Defoe geselecteerd.

Lees meer: Het Range Object van VBA gebruiken in Excel

Methode-2: een groep aaneengesloten cellen selecteren met behulp van VBA Range

U kunt een reeks aaneengesloten cellen selecteren zoals de Naam student kolom en de Resultaat kolom in de volgende tabel door deze methode te volgen.

Step-01 :

volgen Step-01 van Methode-1

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

Het selecteert de cellen van B5 naar C10 .

➤Press F5

Resultaat :

Daarna krijg je de cellen in Kolom B en Kolom C geselecteerd.

Methode-3: Een groep niet aaneengesloten cellen selecteren met behulp van VBA Range

Stel, u wilt de studenten selecteren met de naam William David en Michael Anthony met inbegrip van hun respectieve E-mailadres Om deze niet-congruente cellen te selecteren kunt u deze methode volgen.

Step-01 :

volgen Step-01 van Methode-1

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

Het zal de cellen selecteren B6 , D6 , B9, en D9 .

➤Press F5

Resultaat :

Dan krijgt u de cellen met de naam van de leerling William David , Michael Anthony, en hun respectieve E-mailadres geselecteerd.

Methode-4: Een groep niet aaneengesloten cellen en een bereik selecteren met behulp van VBA Range

U kunt een bereik van cellen en enkele niet aaneengesloten cellen tegelijk selecteren door deze methode te volgen.

Step-01 :

volgen Step-01 van Methode-1

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

Het selecteert het cellenbereik in het bereik B5:B10 en de andere twee cellen D6 , D10 .

➤Press F5

Resultaat :

Daarna krijgt u de cellen in de kolom Naam student en twee E-mail Ids voor William David en Donald Paul geselecteerd.

Methode-5: Een bereik selecteren met behulp van VBA Range Offset

U kunt een reeks cellen selecteren in de Kolom Naam student door gebruik te maken van de OFFSET-functie .

Step-01 :

volgen Step-01 van Methode-1

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

Eerst wel, Bereik("A1:A6") zal het bereik selecteren A1:A6 en dan Offset(4, 1) zal 4 rijen naar beneden verschuiven vanaf cel A1 en 1 kolom naar rechts. Daarna wordt het gelijke aantal cellen in het bereik A1:A6 wordt hieruit geselecteerd.

➤Press F5

Resultaat :

Zo selecteert u de kolom Naam student .

Methode-6: VBA Range Offset Negatief

U kunt de Email Id kolom door deze methode te volgen.

Step-01 :

volgen Step-01 van Methode-1

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

Eerst wel, Bereik("F11:F16") zal het bereik selecteren F11:F16 en dan Offset(-6, -2) zal 6 rijen omhoog gaan vanaf cel F11 en 2 kolommen naar links. Daarna wordt het gelijke aantal cellen in het bereik F11:F16 wordt hieruit geselecteerd.

➤Press F5

Resultaat :

Daarna kunt u de kolom E-mailadres .

Vergelijkbare lezingen:

  • VBA voor elke cel in een bereik in Excel (3 methoden)
  • Tekst tellen in Excel (7 eenvoudige trucs)

Methode-7: Een bereik selecteren ten opzichte van de actieve cel

Hier hebben we een actieve cel (cel A1 ) en met betrekking tot deze cel selecteren wij het gegevensbereik in deze methode.

Step-01 :

volgen Step-01 van Methode-1

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

Hier, activecell is A1

Het eerste deel activecell.Offset(4, 1) selecteert een cel 4 rijen omlaag en 1 kolom rechts van de cel A1 en het tweede deel activecell.Offset(9, 3) selecteert een cel 9 rijen omlaag en 3 kolommen rechts van cel A1 .

Tenslotte worden alle cellen tussen deze twee cellen geselecteerd.

➤Press F5

Resultaat :

Vervolgens kunt u het hele gegevensbereik selecteren.

Methode-8: Een bereik kopiëren

Als u een reeks cellen wilt kopiëren, kunt u deze methode volgen.

Step-01 :

volgen Step-01 van Methode-1

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

Eerst wel, Bereik("A1:A6") zal het bereik selecteren A1:A6 en dan Offset(4, 1) zal 4 rijen naar beneden verschuiven vanaf cel A1 en 1 kolom naar rechts. Daarna wordt het gelijke aantal cellen in het bereik A1:A6 wordt hieruit geselecteerd.

Tenslotte zal het de waarden in het bereik B5:B10 .

➤Press F5

Resultaat :

Daarna kunt u het gegevensbereik kopiëren in de Kolom Naam student .

Methode-9: Een bereik verwijderen

Hier tonen we de manier om een reeks gegevens te wissen met behulp van VBA code.

Step-01 :

volgen Step-01 van Methode-1

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

Ten eerste, Bereik("F11:F17") zal het bereik selecteren F11:F17 en dan Offset(-7, -2) zal 7 rijen omhoog gaan vanaf cel F11 en 2 kolommen naar links. Daarna wordt het gelijke aantal cellen in het bereik F11:F17 wordt hieruit geselecteerd.

Tenslotte zal het de reeks D4:D10 .

➤Press F5

Resultaat :

Zo kopieert u het gegevensbereik in de Email Id kolom .

Methode-10: VBA Range Offset gebruiken om een waarde in te voeren

Hier hebben we een lege cel (we hebben de waarde in deze cel verwijderd om deze methode uit te leggen) in de Kolom Naam student en we willen het vullen met de naam Joseph Michael Door een VBA code kunnen we deze waarde gemakkelijk invoeren.

Step-01 :

volgen Step-01 van Methode-1

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

Ten eerste, Bereik("A1") selecteert de cel A1 en dan Offset(6, 1) zal 6 rijen naar beneden verschuiven vanaf cel A1 en 1 kolom naar rechts. Daarna wordt cel B7 zal worden geselecteerd en tenslotte zal het de waarde "Joseph Michael" in deze cel.

➤Press F5

Resultaat :

Zo krijg je de naam Joseph Michael in de cel B7 .

Methode-11: VBA Range Offset gebruiken om output te verkrijgen

Stel, u wilt schrijven Geslaagd of Kwam niet overeen aan de namen van de studenten afhankelijk van de Resultaat kolom waarbij Pas of Fail is geschreven in een haakje. Om deze substring te vinden in de Resultaat kolom en schrijf het op in de Pass/Fail kolom volg deze methode.

Step-01 :

volgen Step-01 van Methode-1

 Sub CheckSubstring() Dim cel als Range Voor elke cel in Range("C5:C10") Als InStr(cell.value, "Pass")> 0 Dan cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub 

Hier is het celbereik C5:C10 wordt geselecteerd door Bereik("C5:C10") die de Resultaat kolom

InStr(cell. value, "Pass")> 0 is de voorwaarde waarbij het getal groter is dan nul (wanneer de cel bevat "Pass" ) dan zal de volgende regel doorgaan en de uitvoer in de aangrenzende cel geven als Geslaagd Hier wordt de aangrenzende cel geselecteerd door cell.Offset(0, 1) , wat betekent dat het 1 kolom naar rechts gaat vanaf de invoercel.

Als de voorwaarde onwaar wordt, betekent dit dat een cel geen "Pass" dan is de lijn onder Anders wordt uitgevoerd en geeft de outputwaarde in de aangrenzende cel als Mislukte .

Deze lus gaat door voor elke cel.

➤Press F5

Resultaat :

Dan krijg je de outputs Geslaagd of gezakt in de slagen/zakken column.

Praktijk Sectie

Om zelf te oefenen hebben we een Praktijk sectie zoals hieronder in een blad met de naam Praktijk Doe het alsjeblieft zelf.

Conclusie

In dit artikel heb ik geprobeerd de gemakkelijkste manieren om VBA bereik offset in Excel effectief. Hopelijk vindt u het nuttig. Als u suggesties of vragen heeft, voel u vrij om ze met ons te delen.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.