Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ActiveCell.Row - aber mehrere

ActiveCell.Row - aber mehrere
14.12.2018 12:46:28
Matthias
Hallo zusammen
Folgendes Makro habe ich:
Range("AF" & ActiveCell.Row & ":BY" & ActiveCell.Row).Select
Selection.Copy
Ich wähle also eine Zeile aus und dann soll weit weit rechts irgendwelcher Inhalt kopiert werden :-)
1. Kann ich das auch direkt als Werte in die Zwischenablage kopieren?
2. Wie muss das Makro lautet wenn ich zwei oder drei Zeilen markiere? Und dann dementsprechend auch mehrere "ActiveCell.Rows" habe die ich gleichzeitig kopieren möchte?
Herzlichen Dank für deine Unterstützung.
Matthias
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveCell.Row - aber mehrere
14.12.2018 12:54:05
Rudi
Hallo,
  Cells(Selection.Row, 32).Resize(Selection.Rows.Count, 46).Copy
Gruß
Rudi
AW: ActiveCell.Row - aber mehrere
14.12.2018 12:55:24
{Boris}
Hi,
es gibt immer nur EINE ActiveCell. Was Du meinst, ist dann die gesamte Selection.
Wenn Du keine Formate / Formeln übernehmen möchtest sondern nur die reinen Werte, dann muss man auch nicht kopieren, sondern kann diese direkt zuweisen:
Z.B.:
Range("A1").Value = ActiveCell.Value
VG, Boris
Anzeige
AW: ActiveCell.Row - aber mehrere
15.12.2018 09:44:13
Matthias
Herzlichen Dank euch :-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ActiveCell.Row in VBA: Mehrere Zeilen gleichzeitig kopieren


Schritt-für-Schritt-Anleitung

Um mehrere Zeilen zu kopieren, kannst Du die Selection-Eigenschaft in VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Wähle die Zeilen aus, die Du kopieren möchtest. Du kannst dies manuell in Excel tun oder über VBA.

  2. Nutze den folgenden VBA-Code, um die Werte der aktiven Zeilen in die Zwischenablage zu kopieren:

    Cells(Selection.Row, 32).Resize(Selection.Rows.Count, 46).Copy

    In diesem Beispiel wird der Inhalt von Spalte AF bis BY der ausgewählten Zeilen kopiert.

  3. Wenn Du nur die Werte kopieren möchtest, ohne die Formate, kannst Du den Wert direkt zuweisen:

    Range("A1").Value = ActiveCell.Value

Häufige Fehler und Lösungen

Fehler 1: "Runtime Error 1004 - Application-defined or Object-defined error"
Lösung: Stelle sicher, dass Du die richtigen Zeilen und Spalten angibst. Überprüfe auch, ob die Selection-Eigenschaft korrekt verwendet wird.

Fehler 2: "ActiveCell.Row gibt nur eine Zeile zurück"
Lösung: Denke daran, dass es immer nur eine ActiveCell gibt. Für mehrere Zeilen musst Du Selection verwenden, um die gewünschten Zeilen zu referenzieren.


Alternative Methoden

Wenn Du nicht die Zwischenablage nutzen möchtest, kannst Du die Werte auch direkt in einen anderen Bereich kopieren:

Dim rng As Range
Set rng = Selection
Range("Z1").Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value

Hierbei wird der Inhalt der Selection in den Bereich ab Z1 kopiert.


Praktische Beispiele

Beispiel 1: Mehrere aktive Zeilen kopieren
Wenn Du die Zeilen 2 bis 4 in die Zwischenablage kopieren möchtest:

Range("AF2:BY4").Copy

Beispiel 2: Werte aus einer aktiven Zeile in eine andere Zeile kopieren
Um die Werte einer aktiven Zeile in Zeile 10 zu kopieren:

Rows(ActiveCell.Row).Copy Destination:=Rows(10)

Tipps für Profis

  • Verwende die ActiveCell-Eigenschaft zusammen mit Offset, um relative Zeilen zu manipulieren. Beispiel:

    ActiveCell.Offset(1, 0).EntireRow.Select
  • Nutze Application.CutCopyMode = False, um die Auswahl nach dem Kopieren zu entfernen und die Zwischenablage zu leeren.


FAQ: Häufige Fragen

1. Wie kann ich die aktuelle Zeilennummer der aktiven Zelle erhalten?
Du kannst dies mit folgendem Befehl tun:

Dim currentRow As Integer
currentRow = ActiveCell.Row

2. Gibt es eine Möglichkeit, die aktive Zeile zu markieren?
Ja, Du kannst die aktive Zeile mit dem folgenden Befehl auswählen:

ActiveCell.EntireRow.Select

3. Wie kann ich die aktive Zeile um eine Zeile nach unten verschieben?
Nutze den Offset-Befehl:

ActiveCell.Offset(1, 0).Select

Mit diesen Informationen solltest Du in der Lage sein, die ActiveCell.Row-Eigenschaft effektiv in Deinen VBA-Projekten zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige