Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Spalteninhalte ab D in Spalte A kopieren

Spalteninhalte ab D in Spalte A kopieren
14.10.2006 09:20:26
Wolfgang
Hallo*
ich habe eine erneute Frage an das Forum; innerhalb einer Arbeitsmappe befinden sich ca. 10 Tabellenblätter (können variieren); ist es möglich, dass die Daten in der gesamten Arbeitsmappe innerhalb eines jeden Tabellenblattes von Spalte D bis Spalte M und ab Zeile 2 in Spalte A (ab A1) kopiert werden? Auszuklammern sind dabei die Tabellenblätter "Start" und "Daten" - Ich konnte leider unter Recherche und auf der Excel-CD hierzu nichts entdecken, über den Makrorekorder bekomme ich das irgendwie nicht hin. - Wäre für jede Hilfestellung wiederum sehr dankbar.
Gruß - Wolfgang

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalteninhalte ab D in Spalte A kopieren
14.10.2006 10:57:00
fcs
Hallo Wolfgang,
diesen Kopiervorgang muss man in einer Schleife für jedes Blatt abarbeiten, wobei man über eine If-Bedingung die Blätter "Start" und "Daten" ausschließt. Bleibt die Frage: Willst du die Daten von D2:Mxxx nach A1:Jyyy kopieren oder verschieben?
Makro für Verschieben des Zellbereichs:

Sub Verschieben()
'Verschiebt Zellbereich innerhalb aller Blätter
Dim wks As Worksheet, Startzelle As String, LetzteSpalte As String
Dim Zielzelle As String, LetzteZeile As Long
Startzelle = "D2"
LetzteSpalte = "M"
Zielzelle = "A1"
For Each wks In ActiveWorkbook.Worksheets
If Not (wks.Name = "Start" Or wks.Name = "Daten") Then
LetzteZeile = wks.UsedRange.Row + wks.UsedRange.Rows.Count - 1
wks.Range(Startzelle & ":" & LetzteSpalte & LetzteZeile).Cut
Application.DisplayAlerts = False
wks.Paste Destination:=wks.Range(Zielzelle)
Application.DisplayAlerts = True
End If
Next
End Sub
Makro für Kopieren:
Sub Kopieren()
'Kopiert Zellbereich innerhalb aller Blätter
Dim wks As Worksheet, Startzelle As String, LetzteSpalte As String
Dim Zielzelle As String, LetzteZeile As Long
Startzelle = "D2"
LetzteSpalte = "M"
Zielzelle = "A1"
For Each wks In ActiveWorkbook.Worksheets
If Not (wks.Name = "Start" Or wks.Name = "Daten") Then
LetzteZeile = wks.UsedRange.Row + wks.UsedRange.Rows.Count - 1
Application.DisplayAlerts = False
wks.Range(Startzelle & ":" & LetzteSpalte & LetzteZeile).Copy Destination:=wks.Range(Zielzelle)
Application.DisplayAlerts = True
End If
Next
End Sub

Gruss
Franz
Anzeige
AW: Spalteninhalte ab D in Spalte A kopieren
14.10.2006 11:48:46
Wolfgang
Hallo Franz,
erneut herzlichen Dank für Deine Rückmeldung und Ausarbeitung (ich weiß, dass Du mir schon häufiger Hilfestellungen und Hinweise sowie Ausarbeitungen zur Verfügung gestellt hast, die ich allesamt gut umsetzen konnte); Der Code mit Kopieren ist im Grunde sehr gut und für meine gedachte Anwendung sehr geeignet. Ich habe ihn getestet und folgende Wirkung festgestellt. Kopiere ich Daten in Spalte D, werden diese in Spalte A übernommen (die letzte Zeile bleibt übrigens in Spalte D stehen), kopiere ich Daten in Spalte E, werden diese in Spalte B übernommen (auch hier bleibt die letzte Zeile stehen). Ist es denkbar, dass sämtliche gefüllten Zeilen in den Spalten D bis M ausschließlich in Spalte A (also untereinander kopiert werden? - Danke Dir schon jetzt wieder für Deine Rückantwort.
Gruß - Wolfgang
Anzeige
AW: Spalteninhalte ab D in Spalte A kopieren
14.10.2006 13:25:08
fcs
Hallo Wolfgang,
diese Variante kopiert die Inhalte der ausgefüllten Zellen in die Spalte A
Gruss
Franz

Sub Kopieren()
'Überträgt Werte aus Zellbereich D2:Mxxx innerhalb aller Blätter in Spalte A
Dim wks As Worksheet, ZeileS As Long, SpalteE As Integer, SpalteL As Integer
Dim SpalteZ As Integer, ZeileZ1 As Long, ZeileZ As Long, ZeileL As Long, ZeileLmax
Dim Zeile As Long, Spalte As Integer
ZeileS = 2 ' 1. Zeile für Kopieren von Werten aus Spalte D bis M
SpalteE = 4 ' 1. Spalte die kopiert werden soll, hier  D
SpalteL = 13 ' letzte Spalte die kopiert werden soll, hier M
SpalteZ = 1 ' Zielspalte, hier Spalte A
ZeileZ1 = 2 '1. Zeile in Zielspalte in die Werte kopiert werden sollen
For Each wks In ActiveWorkbook.Worksheets
With wks
If Not (.Name = "Start" Or wks.Name = "Daten") Then
'vorhandene Daten in Zielspalte (Spalte A) löschen
.Range(.Cells(ZeileZ1, SpalteZ), .Cells(.Rows.Count, SpalteZ)).ClearContents
'Daten kopieren
For Spalte = SpalteE To SpalteL
ZeileL = .Cells(.Rows.Count, Spalte).End(xlUp).Row
If ZeileL > ZeileLmax Then ZeileLmax = ZeileL
For Zeile = ZeileS To ZeileL
If Not IsEmpty(.Cells(Zeile, Spalte)) Then
'              .Cells(ZeileZ, SpalteZ).Value = .Cells(Zeile, Spalte).Value 'Nur Werte übertragen
.Cells(Zeile, Spalte).Copy Destination:=.Cells(ZeileZ, SpalteZ) 'Zellen kopieren
ZeileZ = ZeileZ + 1
End If
Next Zeile
Next Spalte
End If
'Daten im Bereich der Spalten D bis M entfernen (deaktiviert)
'.Range(.Cells(ZeileS, SpalteE), .Cells(ZeileLmax, SpalteL)).ClearContents
End With
ZeileLmax = 0
ZeileZ = ZeileZ1
Next wks
End Sub

Anzeige
Erneuten Dank Franz, klappt super!!
14.10.2006 13:39:52
Wolfgang
Hallo Franz,
erneuten Dank. Es funktioniert wunderbar!; Ich wünsche Dir noch ein schönes Wochenende und weiterhin alles Gute. Bis dahin 'mal (werde sicherlich noch weitere Fragen zu anderen Anwendungen/Problemstellungen haben).
Herzliche Grüße
Wolfgang

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige