ich versuchte mit aufzeichen folgendes Makro:
2 Zellen nach rechts.
dann wird folgendes aufgezeichnet: Range("H20").Select
Das Makro soll aber, ab der x-gewählten Position 2 Zellen nach rechts gehen.
Lieben Dank für eine Hilfe.
Manu
Sub SelRe2()
Selection.Offset(0,2).Select
End Sub
(vorausgesetzt, du gerätst dabei nicht hinter die letzte Spalte des Blattes!)
Sub CopSelRe2() ' gesamte Markierung
Selection.Offset(0, 2).Copy Selection
End Sub
Sub CopActRe2() ' nur aktive Zelle
ActiveCell.Offset(0, 2).Copy ActiveCell
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfortden Wert oder die Formel von dort (2 Zellen nach rechts) in die aktive Zelle kopieren
Wert und Formel ist aber ein Unterschied.Sub GetValue_I()
MsgBox ActiveCell.Offset(, 2)
End Sub
oder:
Sub GetValue_II()
MsgBox Cells(ActiveCell.Row, ActiveCell.Column +2)
End Sub
GrußUm in Excel VBA eine Zelle oder einen Bereich um zwei Zellen nach rechts zu verschieben, kannst Du den Offset
-Befehl verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne den VBA-Editor: Drücke Alt + F11
.
Füge ein neues Modul hinzu: Klicke auf Einfügen
> Modul
.
Schreibe das Makro: Verwende den folgenden Code, um zwei Zellen nach rechts zu verschieben:
Sub VerschiebeZelleNachRechts()
ActiveCell.Offset(0, 2).Select
End Sub
Führe das Makro aus: Platziere den Cursor in der gewünschten Startzelle und drücke F5
, um das Makro auszuführen.
Du kannst auch die Werte oder Formeln von einer Zelle in die aktive Zelle kopieren, indem Du den Befehl Copy
verwendest:
Sub KopiereWertNachRechts()
ActiveCell.Offset(0, 2).Copy ActiveCell
End Sub
Fehler 1: Auswahl der Zelle funktioniert nicht
ActiveCell
, um die aktuelle Zelle korrekt zu referenzieren.Fehler 2: Über die letzte Spalte hinaus verschieben
Offset
über die maximale Spalte (z.B. Spalte XFD in Excel) hinaus verwendest.Anstatt nur die aktive Zelle zu verschieben, kannst Du auch einen gesamten Bereich mit einer offset-Methode bearbeiten. Hier ist ein Beispiel:
Sub MarkiereBereichNachRechts()
Selection.Offset(0, 2).Select
End Sub
Mit dieser Methode kannst Du auch mehrere Zellen gleichzeitig verschieben oder markieren.
Hier sind einige praktische Beispiele, die zeigen, wie Du Offset
in verschiedenen Situationen verwenden kannst:
Wert aus einer Zelle in eine andere kopieren:
Sub KopiereWertVonRechts()
ActiveCell.Offset(0, 2).Copy ActiveCell
End Sub
Wert in einer MessageBox anzeigen:
Sub ZeigeWertVonRechts()
MsgBox ActiveCell.Offset(0, 2).Value
End Sub
Eine Zelle zwei nach rechts markieren:
Sub MarkiereZelleNachRechts()
Cells(ActiveCell.Row, ActiveCell.Column + 2).Select
End Sub
Verwende With
-Anweisungen: Dies erleichtert das Lesen des Codes und verbessert die Leistung:
With ActiveCell.Offset(0, 2)
.Value = "Neuer Wert"
End With
1. Wie kann ich eine Zelle nach rechts verschieben, ohne sie auszuwählen?
Du kannst den Wert der Zelle direkt kopieren oder ändern, ohne sie auszuwählen, indem Du ActiveCell.Offset(0, 2).Value = "Neuer Wert"
verwendest.
2. Was passiert, wenn ich über die letzten Spalten hinaus gehe?
Wenn Du versuchst, über die Grenzen des Arbeitsblattes hinaus zu gehen, wird ein Laufzeitfehler angezeigt. Stelle sicher, dass Du die Grenzen des Arbeitsblattes überprüfst, bevor Du Offset
verwendest.
3. Wie kann ich mehrere Zellen gleichzeitig mit Offset bearbeiten?
Du kannst Selection.Offset
verwenden, um mehrere Zellen zu bearbeiten. Beispiel: Selection.Offset(0, 2).Copy Selection
.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen