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

Forumthread: bestimmten Bereich kopieren und einfügen

bestimmten Bereich kopieren und einfügen
Jens
Guten abend nochmal,
es ist hier wie so ein Rettungsboot und ich bin sehr froh das es euch gibt.
Ich habe eine Tabelle, in Spalte D bis S stehen Informationen. Diese Inhalte und zwar nur die den Zeilen 8, 9, 11, 12 usw bis 84 (nach zweien immer eine auslassen) sollen kopiert werden und in die gleichen Zeilen der Spalten geschrieben (ersetzen) werden die in Zeile B7 (W) und B8 (AL) stehen. Die Werte in B7 und B8 errechnen sich. Es ist wie so eine Art Jahreskalender mit festen Inhalten und flexiblen Inhalten.
Die Zeilen ( 8, 9, 11, 12 usw bis 84)habe ich in in einem extra Tabellenblatt, somit könnte man diese über eine Schleife abfragen (Tabellenblatt "Hilfe"; Spalte O).
Wenn da noch jemand eine Idee hat, wäre das super!!
Vielen Dank
Jens
Anzeige
AW: bestimmten Bereich kopieren und einfügen
01.08.2011 19:56:07
mpb
Hallo Jens,
zumindest ich verstehe den Tabellen-/Dateiaufbau nicht. Wie soll etwas aus den Spalten D-S in zwei Spalten W und AL kopiert werden. Und was soll das mit dem "extra Tabellenblatt".
Am besten, Du lädst die Datei hoch und beschreibt das Problen nochmal neu.
Gruß
Martin
AW: bestimmten Bereich kopieren und einfügen
02.08.2011 08:21:32
Jens
Guten morgen Martin,
vielen Dank für deinen Hinweis, hier ein Ausschnitt der Datei, diese ist leider zu groß:
https://www.herber.de/bbs/user/75975.xls
es handelt sich wie bereits erwähnt um einen Kallender. Im Feld B2 kann man den Monat auswählen und dieser wird dann im Bereich D2 - S84 angezeigt. Das besondere ist ich habe hier nur die Arbeitstage drinn, in einem Separaten Arbeitsblatt errechne ich mir das, die erste Zeile pro AT beinhaltet immer einen fixen Wert, dieser kommt auch aus einem separaten Arbeitsblatt. Die beiden anderen Zeilen kann man befüllen. Nach Monatsende möchte ich die Inhalte der beiden zu befüllenden Zeilen pro Arbeitstag in den Bereich kopieren der in Zeile B7 und B8 angezeigt wird, in jeweils die gleiche Zeile. Also D8:S8 nach W8:AL8; D9:S9 nach W9:AL9 usw. Die relevanten Zeilen 8,9 11, 12 bis 84 habe ich nochmal in einem separaten Arbeitsblatt hingeschrieben, deshalb könnte man diese dort auslesen, Blatt "hilfe" spalte O.
Ich hoffe sehr, das macht es ein wenig greifbarer. Wäre super wenn du eine Lösung hättest
Jens
Anzeige
AW: bestimmten Bereich kopieren und einfügen
02.08.2011 21:53:04
mpb
Hallo Jens,
m.E. brauchst Du weder die Angabe in Zelle B8 noch die Tabelle "Hilfe". Ersetze die Formel in Zelle B7 durch
=SPALTE(INDIREKT(WENN(LÄNGE(ADRESSE(1;VERGLEICH(B2;C2:IN2;FALSCH)+4;4))=2;LINKS(ADRESSE(1; VERGLEICH(B2;C2:IN2;FALSCH)+4;4);1);LINKS(ADRESSE(1;VERGLEICH(B2;C2:IN2;FALSCH)+4;4);2))&"1"))
Dann wird statt der Spaltenbezeichnung "AP" z.B. die laufende Nummer dieser Spalte, also 42 zurückgegeben, was sich in Schleifen bei der Adressierung leichter verarbeiten lässt.
Folgendes Makro erledigt das Kopieren:
Sub kopieren()
For i = 8 To 83 Step 3
Range(Cells(i, 4), Cells(i, 19)).Copy Destination:=Cells(i, Range("B7"))
Next i
For j = 9 To 84 Step 3
Range(Cells(j, 4), Cells(j, 19)).Copy Destination:=Cells(j, Range("B7"))
Next j
End Sub

Achtung:
1. Ich konnte das nicht richtig testen, da Deine Tabelle in den zu kopierenden Zeilen nicht befüllt war.
2. Verbundene Zellen sind Teufelszeug, wenn man anschließend noch mit Makros arbeiten will. Wenn es Dir nur auf die Optikankommt (z.B. zentrieren über die Spalten I bis L) verwendet stattdessen
FORMAT - ZELLEN - AUSRICHTUNG - HORIZONTAL - ÜBER AUSWAHL ZENTRIEREN
Gruß
Martin
Anzeige
AW: bestimmten Bereich kopieren und einfügen
03.08.2011 11:02:17
Jens
Hallo Martin,
das funktioniert genau so, wie ich mir das gedacht habe. Super vielen Dank. Es sieht nun jedoch so aus, als könnte ich das doch nicht so benutzten. Ich würde da gern nochmal auf deine Hilfe zurückkommen wenn ich darf. Muss das aber erst noch für mich klären, was ich da noch zusätzlich brauche.
Jens
Anzeige
AW: bestimmten Bereich kopieren und einfügen
04.08.2011 10:42:32
Jens
Hallo Martin,
hab es selber hinbekommen, Vielen Dank nochmal für deine Hilfe!!
Jens
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bestimmten Bereich in Excel kopieren und einfügen


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei und wechsle zu dem Tabellenblatt, in dem Du den Bereich kopieren möchtest.

  2. Bestimme die relevanten Zeilen (z.B. 8, 9, 11, 12 bis 84), die Du kopieren möchtest. Diese sollten in den Spalten D bis S stehen.

  3. Erstelle ein neues VBA-Makro:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  4. Füge den folgenden VBA-Code ein:

    Sub kopieren()
       For i = 8 To 83 Step 3
           Range(Cells(i, 4), Cells(i, 19)).Copy Destination:=Cells(i, Range("B7"))
       Next i
       For j = 9 To 84 Step 3
           Range(Cells(j, 4), Cells(j, 19)).Copy Destination:=Cells(j, Range("B7"))
       Next j
    End Sub
  5. Führe das Makro aus:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Drücke ALT + F8, wähle das Makro aus und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Bereich nicht gefunden

    • Stelle sicher, dass die Zeilen und Spalten, die Du kopieren möchtest, korrekt angegeben sind. Überprüfe die Adressierung in Deinem VBA-Code.
  • Fehler: Verbundene Zellen

    • Vermeide verbundene Zellen, wenn Du mit Makros arbeitest. Nutze stattdessen die Zellenformatierung, um die Optik zu verbessern.

Alternative Methoden

  • Excel-Funktion verwenden: Du kannst auch die Excel-Funktion KOPIEREN und EINFÜGEN manuell verwenden, um Werte in die gewünschten Zellen zu übertragen. Diese Methode ist jedoch zeitaufwändiger als das VBA-Skript.

  • Power Query: Wenn Du regelmäßig Daten aus verschiedenen Tabellen kopieren und einfügen musst, könnte Power Query eine nützliche Alternative sein. Hiermit kannst Du Daten automatisch transformieren und laden.


Praktische Beispiele

Wenn Du beispielsweise die Werte aus den Zellen D8 bis S8 in die Zellen W8 bis AL8 kopieren möchtest und dabei die Inhalte von Zelle B7 als Ziel verwenden möchtest, kannst Du den oben genannten VBA-Code verwenden, um diesen Prozess zu automatisieren.

Range(Cells(8, 4), Cells(8, 19)).Copy Destination:=Cells(8, Range("B7"))

Ändere die Zeilennummern im Code entsprechend, um andere Zeilen zu kopieren.


Tipps für Profis

  • Makros optimieren: Überlege, ob Du Schleifen und Bedingungen in Deinem VBA-Code nutzen kannst, um den Code effizienter zu gestalten.
  • Dokumentation: Halte den Code gut dokumentiert, damit Du ihn später leichter anpassen kannst.
  • Sichern: Erstelle immer eine Sicherungskopie Deiner Excel-Datei, bevor Du Makros ausführst, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich einen bestimmten Bereich in Excel kopieren?
Um einen bestimmten Bereich zu kopieren, kannst Du entweder die Excel-Funktionen KOPIEREN und EINFÜGEN verwenden oder ein VBA-Makro erstellen, das diesen Prozess automatisiert.

2. Was mache ich, wenn die Bereiche unterschiedliche Größen haben?
Wenn die Bereiche, die Du kopieren und einfügen möchtest, nicht die gleiche Größe haben, solltest Du sicherstellen, dass Deine Zielzellen entsprechend angepasst sind. Das VBA-Skript kann auch so modifiziert werden, dass es diese Unterschiede berücksichtigt.

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