Verwendung von VBA Range Offset (11 Möglichkeiten)

  • Teile Das
Hugh West

Wenn Sie auf der Suche nach den einfachsten Möglichkeiten sind, die VBA Range Offset, dann wird sich dieser Artikel für Sie lohnen. Beginnen wir mit den Möglichkeiten der Verwendung des VBA Bereich Offset.

Arbeitsbuch herunterladen

VBA Bereich Offset.xlsm

11 Möglichkeiten zur Verwendung von VBA Range Offset

Ich habe die folgende Datentabelle, die einige Informationen über die Studenten einer Hochschule enthält. Anhand dieses Datensatzes werde ich erklären, wie man die VBA Bereich Offset.

Zu diesem Zweck habe ich Folgendes verwendet Microsoft Excel 365 Version, Sie können aber auch jede andere Version verwenden, die Ihnen zusagt.

Methode 1: Auswählen einer Zelle mit VBA Range

Hier wählen wir eine Zelle aus, die den Namen Daniel Defoe. Zu diesem Zweck werden wir die RANGE-Funktion in VBA .

Stufe-01 :

➤Go to Entwickler Tab>> Visual Basic Option

Dann wird die Visual Basic-Editor wird sich öffnen.

➤Go to einfügen. Tab>> Modul Option

Danach wird ein Modul erstellt werden.

Schritt-02 :

➤ Schreiben Sie folgenden Code

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

Die Zelle wird ausgewählt B8 .

➤ Drücken F5

Ergebnis :

Auf diese Weise erhalten Sie die Zelle mit Daniel Defoe ausgewählt.

Lesen Sie mehr: Wie man das Range-Objekt von VBA in Excel verwendet

Methode 2: Auswählen einer Gruppe von zusammenhängenden Zellen mit VBA Range

Sie können einen Bereich von zusammenhängenden Zellen auswählen, wie die Name des Schülers und die Spalte Ergebnis Spalte in der folgenden Tabelle nach dieser Methode.

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

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

Es wählt die Zellen aus B5 zu C10 .

➤ Drücken F5

Ergebnis :

Danach erhalten Sie die Zellen in Säule B und Säule C ausgewählt.

Methode 3: Auswählen einer Gruppe von nicht zusammenhängenden Zellen mit VBA Range

Angenommen, Sie möchten die Schüler mit dem Namen William David und Michael Anthony einschließlich ihrer jeweiligen E-Mail-Kennung Um diese nicht übereinstimmenden Zellen auszuwählen, können Sie diese Methode anwenden.

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

 Sub nicht-zusammenhängend() Bereich("B6,D6,B9,D9").Select End Sub 

Es werden die Zellen ausgewählt B6 , D6 , B9, und D9 .

➤ Drücken F5

Ergebnis :

Sie erhalten dann die Zellen, die den Namen des Schülers enthalten William David , Michael Anthony, und ihre jeweiligen E-Mail-Kennung ausgewählt.

Methode 4: Auswählen einer Gruppe von nicht zusammenhängenden Zellen und eines Bereichs mit VBA Range

Mit dieser Methode können Sie einen Bereich von Zellen und einige nicht zusammenhängende Zellen gleichzeitig auswählen.

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

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

Es wählt den Bereich der Zellen im Bereich B5:B10 und die beiden anderen Zellen D6 , D10 .

➤ Drücken F5

Ergebnis :

Danach erhalten Sie die Zellen in der Spalte Name des Schülers und zwei E-Mail-Kennungen für William David und Donald Paul ausgewählt.

Methode 5: Auswählen eines Bereichs mit VBA Range Offset

Sie können einen Bereich von Zellen in der Tabelle Spalte Studentenname durch die Verwendung der OFFSET-Funktion .

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

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

Zu Beginn, Bereich("A1:A6") wählt den Bereich A1:A6 und dann Versatz(4, 1) bewegt sich von der Zelle 4 Zeilen nach unten A1 und 1 Spalte auf der rechten Seite. Danach wird die gleiche Anzahl von Zellen im Bereich A1:A6 wird von hier aus ausgewählt.

➤ Drücken F5

Ergebnis :

Auf diese Weise wählen Sie die Spalte Name des Schülers .

Methode 6: VBA Bereichsoffset negativ

Sie können die Spalte E-Mail-ID durch Anwendung dieser Methode.

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

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

Zu Beginn, Bereich("F11:F16") wählt den Bereich F11:F16 und dann Versatz(-6, -2) bewegt sich von der Zelle 6 Zeilen nach oben F11 und 2 Spalten auf der linken Seite. Danach wird die gleiche Anzahl von Zellen im Bereich F11:F16 wird von hier aus ausgewählt.

➤ Drücken F5

Ergebnis :

Danach können Sie die Spalte E-Mail-Kennung .

Ähnliche Lektüre:

  • VBA für jede Zelle im Bereich in Excel (3 Methoden)
  • Wie man Text in Excel zählt (7 einfache Tricks)

Methode 7: Auswählen eines Bereichs in Bezug auf die aktive Zelle

Hier haben wir eine aktive Zelle (Zelle A1 ) und in Bezug auf diese Zelle werden wir den Datenbereich in dieser Methode auswählen.

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

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

Hier, activecell ist A1

Der erste Teil activecell.Offset(4, 1) wählt eine Zelle 4 Zeilen abwärts und 1 Spalte rechts von der Zelle A1 und der zweite Teil activecell.Offset(9, 3) wählt eine Zelle 9 Zeilen abwärts und 3 Spalten rechts von der Zelle A1 .

Schließlich werden alle Zellen zwischen diesen beiden Zellen ausgewählt.

➤ Drücken F5

Ergebnis :

Dann können Sie den gesamten Datenbereich auswählen.

Methode 8: Kopieren eines Bereichs

Wenn Sie einen Bereich von Zellen kopieren möchten, können Sie diese Methode anwenden.

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

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

Zu Beginn, Bereich("A1:A6") wählt den Bereich A1:A6 und dann Versatz(4, 1) bewegt sich von der Zelle 4 Zeilen nach unten A1 und 1 Spalte auf der rechten Seite. Danach wird die gleiche Anzahl von Zellen im Bereich A1:A6 wird von hier aus ausgewählt.

Schließlich kopiert es die Werte im Bereich B5:B10 .

➤ Drücken F5

Ergebnis :

Danach können Sie den Datenbereich in den Ordner Spalte Studentenname .

Methode 9: Löschen eines Bereichs

Hier wird gezeigt, wie man einen Datenbereich mit Hilfe der folgenden Methode löschen kann VBA Code.

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

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

Erstens, Bereich("F11:F17") wählt den Bereich F11:F17 und dann Versatz(-7, -2) bewegt sich von der Zelle 7 Zeilen nach oben F11 und 2 Spalten auf der linken Seite. Danach wird die gleiche Anzahl von Zellen im Bereich F11:F17 wird von hier aus ausgewählt.

Schließlich wird der Bereich gelöscht D4:D10 .

➤ Drücken F5

Ergebnis :

Auf diese Weise kopieren Sie den Datenbereich in der Spalte E-Mail-ID .

Methode 10: Verwenden von VBA Range Offset zur Eingabe eines Wertes

Hier haben wir eine leere Zelle (wir haben den Wert in dieser Zelle entfernt, um diese Methode zu erläutern) in der Spalte Studentenname und wir wollen es mit dem Namen füllen Joseph Michael Durch die Verwendung eines VBA Code können wir diesen Wert leicht eingeben.

Stufe-01 :

➤Folgen Stufe-01 von Methode-1

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

Erstens, Bereich("A1") wählt die Zelle A1 und dann Versatz(6, 1) bewegt sich von der Zelle 6 Zeilen nach unten A1 und 1 Spalte auf der rechten Seite. Danach wird die Zelle B7 ausgewählt und schließlich wird der Wert "Joseph Michael" in dieser Zelle.

➤ Drücken F5

Ergebnis :

Auf diese Weise erhalten Sie den Namen Joseph Michael in der Zelle B7 .

Methode 11: Verwendung von VBA Range Offset zum Abrufen der Ausgabe

Angenommen, Sie wollen schreiben Bestanden oder Korrespondenz nicht zustande gekommen zu den Namen der Schüler je nach Ergebnis-Spalte wobei Pass oder Fail in eine Klammer geschrieben wurde. Um diese Teilzeichenkette in der Datei Ergebnis-Spalte und notieren Sie sie in der Spalte "bestanden/nicht bestanden diese Methode anwenden.

Stufe-01 :

➤Folgen Stufe-01 von Methode-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 

Hier wird der Zellbereich C5:C10 wird ausgewählt von Bereich("C5:C10") die die Ergebnis-Spalte

InStr(Zelle. Wert, "Pass")> 0 ist die Bedingung, bei der die Zahl größer als Null ist (wenn die Zelle "Pass" ), dann wird die folgende Zeile fortgesetzt und gibt die Ausgabe in der benachbarten Zelle als Bestanden Hier wird die benachbarte Zelle durch Zelle.Offset(0, 1) , d.h. es wird 1 Spalte nach rechts von der Eingabezelle verschoben.

Wenn die Bedingung falsch ist, bedeutet das, dass eine Zelle keine Daten enthält. "Pass" dann die Zeile unter Sonst wird ausgeführt und gibt den Ausgabewert in der benachbarten Zelle als Gescheitert .

Diese Schleife wird für jede Zelle fortgesetzt.

➤ Drücken F5

Ergebnis :

Sie erhalten dann die folgenden Ausgaben Bestanden oder nicht bestanden im bestanden/nicht bestanden Spalte.

Praxisteil

Damit Sie selbst üben können, haben wir für Sie eine Praxis Abschnitt wie unten in einem Blatt namens Praxis Bitte tun Sie es selbst.

Schlussfolgerung

In diesem Artikel habe ich versucht, die einfachsten Möglichkeiten zur Verwendung von VBA Bereich Offset in Excel effektiv zu nutzen. Ich hoffe, Sie finden es nützlich. Wenn Sie Anregungen oder Fragen haben, können Sie uns diese gerne mitteilen.

Hugh West ist ein äußerst erfahrener Excel-Trainer und -Analyst mit über 10 Jahren Erfahrung in der Branche. Er verfügt über einen Bachelor-Abschluss in Rechnungswesen und Finanzen sowie einen Master-Abschluss in Betriebswirtschaft. Hugh hat eine Leidenschaft für das Unterrichten und hat einen einzigartigen Lehransatz entwickelt, der leicht zu befolgen und zu verstehen ist. Seine Expertenkenntnisse in Excel haben Tausenden von Studenten und Berufstätigen auf der ganzen Welt geholfen, ihre Fähigkeiten zu verbessern und in ihrer Karriere herausragende Leistungen zu erbringen. Über seinen Blog teilt Hugh sein Wissen mit der Welt und bietet kostenlose Excel-Tutorials und Online-Schulungen an, um Einzelpersonen und Unternehmen dabei zu helfen, ihr volles Potenzial auszuschöpfen.