Inhoudsopgave
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.xlsm11 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.