Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereich links neben aktiver Zelle kopieren

Forumthread: Bereich links neben aktiver Zelle kopieren

Bereich links neben aktiver Zelle kopieren
25.02.2004 07:46:20
AndreasS
Morgen,
gibt es mit VBA eine Möglichkeiten eine Bereich links neben der aktiven Zelle zu kopieren.
Also wie entirerow - activerzelle.select oder oo was...
Gruß und danke...
Andreas
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich links neben aktiver Zelle kopieren
25.02.2004 08:05:19
Galenzo
Hallo Andreas,
Range(Cells(ActiveCell.Row, 1), ActiveCell.Offset(0, -1)).Copy
sollte dir da weiterhelfen.
Funktioniert natürlich nicht in Spalte A (wegen -1) - das solltest du vorher also noch abfangen...
mfg
Danke :-)
25.02.2004 08:14:16
AndreasS
Danke für die schnelle Hilfe!
Gruß Andreas
Hilft mir leider nichts...
25.02.2004 08:20:48
AndreasS
...oder bin ich nur zu blöd?
Hier mal das Makro:

Sub Kopie_Bereich()
Dim iRow%
Dim i$
Dim rzelle As Range
Dim rTestRange As Range
Set rTestRange = Sheets("Kopien").[q1:q8]
For Each rzelle In rTestRange.Cells
Sheets("Daten").Activate
With Worksheets("Daten").Range("Q1:Q10")
Set c = .Find(rzelle, LookIn:=xlValues)
If Not c Is Nothing Then
firstaddress = c.Address
Do
Set c = .FindNext(c)
c.Select
With Sheets("Kopien")
iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(ActiveCell.Row, 1), ActiveCell.Offset(0, -1)).Copy Worksheets("Kopien").Rows(iRow)
End With
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
Next rzelle
End Sub

Über jede Hilfe bin ich dankbar.
Gruß Andreas
Anzeige
AW: Hilft mir leider nichts...
25.02.2004 08:22:34
Galenzo
wat wilst du damit denn machen?
AW: Hilft mir leider nichts...
25.02.2004 08:28:45
AndreasS
Hi,
ich möchte im Bereich p1:p8 auf Tabellenblatt Kopien einen Wert suchen in Tabelle Daten Spalte Q. Dann A-P aus Daten kopieren in Kopien.
Fehler in Makro, so muss es heißen:

Sub Kopie_Bereich()
Dim iRow%
Dim i$
Dim rzelle As Range
Dim rTestRange As Range
Set rTestRange = Sheets("Kopien").[p1:p8]
For Each rzelle In rTestRange.Cells
Sheets("Daten").Activate
With Worksheets("Daten").Range("Q1:Q10")
Set c = .Find(rzelle, LookIn:=xlValues)
If Not c Is Nothing Then
firstaddress = c.Address
Do
Set c = .FindNext(c)
c.Select
With Sheets("Kopien")
iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
Range(Cells(ActiveCell.Row, 1), ActiveCell.Offset(0, -1)).Copy Worksheets("Kopien").Rows(iRow)
End With
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
Next rzelle
End Sub

Danke für deine Hilfe...
Anzeige
AW: Hilft mir leider nichts...
25.02.2004 08:33:37
Galenzo
Ändere mal die Zeile so:
Range(Cells(ActiveCell.Row, 1), ActiveCell.Offset(0, -1)).Copy Worksheets("Kopien").Cells(iRow, 1)
Paßt das?
Ja, das paßt! :-)
25.02.2004 08:41:49
AndreasS
Danke nochmals für deine Hilfe, da wäre ich alleine so schnell nicht draufgekommen...
Gruß Andreas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Bereich links neben der aktiven Zelle kopieren mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub Kopie_Bereich()
       Dim iRow%
       Dim rzelle As Range
       Dim rTestRange As Range
       Set rTestRange = Sheets("Kopien").[p1:p8]
       For Each rzelle In rTestRange.Cells
           Sheets("Daten").Activate
           With Worksheets("Daten").Range("Q1:Q10")
               Set c = .Find(rzelle, LookIn:=xlValues)
               If Not c Is Nothing Then
                   firstaddress = c.Address
                   Do
                       Set c = .FindNext(c)
                       With Sheets("Kopien")
                           iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                           Range(Cells(ActiveCell.Row, 1), ActiveCell.Offset(0, -1)).Copy Worksheets("Kopien").Cells(iRow, 1)
                       End With
                   Loop While Not c Is Nothing And c.Address <> firstaddress
               End If
           End With
       Next rzelle
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Entwicklertools > Makros > Kopie_Bereich > Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Anwendung oder Objektdefinierungsfehler"

    • Lösung: Stelle sicher, dass die benannten Blätter ("Daten" und "Kopien") existieren und die Zellenbereiche korrekt sind.
  • Fehler: "Fehler beim Kopieren des Bereichs"

    • Lösung: Überprüfe, ob der Bereich links neben der aktiven Zelle nicht in Spalte A liegt, da dort kein Bereich zum Kopieren existiert.

Alternative Methoden

Falls Du keinen VBA-Code verwenden möchtest, kannst Du auch folgende Methoden ausprobieren:

  • Formeln: Verwende die Funktion =LINKS(A1;LÄNGE(A1)-1), um den Text links neben der aktiven Zelle zu extrahieren. Diese Methode ist jedoch manuell und weniger flexibel.

  • Excel-Add-Ins: Es gibt verschiedene Add-Ins, die erweiterte Funktionen für das Kopieren von Zellen bieten. Diese können eine benutzerfreundliche Oberfläche zur Verfügung stellen.


Praktische Beispiele

  • Beispiel 1: Wenn Du den Bereich links von der Zelle B2 kopieren möchtest, achte darauf, dass Dein Makro korrekt auf die aktive Zelle verweist. Die Zeile Range(Cells(ActiveCell.Row, 1), ActiveCell.Offset(0, -1)).Copy sorgt dafür, dass der Bereich A2 kopiert wird.

  • Beispiel 2: Wenn Du mehrere Zellen in einem Bereich (z.B. P1:P8) durchsuchst, kannst Du den Inhalt von Spalte A bis P in das Blatt "Kopien" übertragen.


Tipps für Profis

  • Optimierung des Codes: Verwende Application.ScreenUpdating = False, um die Bildschirmaktualisierung während des Makros zu deaktivieren, was die Ausführung beschleunigt.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Probleme zu vermeiden. Beispiel:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
       MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Kann ich das Makro auf andere Bereiche anpassen? Ja, Du kannst die Bereiche in Set rTestRange = Sheets("Kopien").[p1:p8] und Range("Q1:Q10") nach Deinen Bedürfnissen anpassen.

2. Was mache ich, wenn das Makro nicht funktioniert? Überprüfe die Blattnamen und Zellenbereiche. Stelle sicher, dass Du das Makro in einer unterstützten Excel-Version ausführst (z.B. Excel 2016 oder neuer).

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