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

Forumthread: Bereich aus Tabellenblatt in neues kopieren

Bereich aus Tabellenblatt in neues kopieren
25.05.2018 09:50:03
Jakob
Hallo liebe Community,
Ich habe folgendes Problem (und in der Suche nicht das passende gefunden)
Ich habe eine Vielzahl an Tabellenblättern.
Nun soll aus jedem Tabellenblatt ein gewisser Bereich (zB I8:I16) in ein neues Blatt kopiert werden. Eine Spalte für jedes Tabellenblatt, und in der ersten Zeile der jeweiligen Spalte der Name des Tabellenblatts, aus dem kopiert wurde.
Ich würde es ja noch schaffen, einen gewissen Bereich aus einem definierten Tabellenblatt in einen bestimmten Bereich in einem neuen Tabellenblatt zu kopieren. Aber die Schleife ist mir dann zu viel.
Ich freu mich über Unterstützung!
Danke,
Liebe Grüße,
Jakob
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich aus Tabellenblatt in neues kopieren
25.05.2018 10:19:57
Werner
Hallo Jakob,
so:
Public Sub Kopieren()
Dim loSpalte As Long, ws As Worksheet, wsZiel As Worksheet
Set wsZiel = Worksheets("Sammelblatt") 'Blattname anpassen
For Each ws In ThisWorkbook.Worksheets
If ws.Name  "Sammelblatt" Then
If wsZiel.Cells(1, 1) = "" Then
loSpalte = 1
Else
loSpalte = wsZiel.Cells(1, wsZiel.Columns.Count).End(xlToLeft).Offset(0, 1).Column
End If
wsZiel.Cells(1, loSpalte) = ws.Name
ws.Range("I8:I16").Copy _
wsZiel.Cells(2, loSpalte)
End If
Next ws
Set wsZiel = Nothing
End Sub
Das Blatt, in dem du die Daten sammelst, mußt du vorher anlegen.
Gruß Werner
Anzeige
AW: Bereich aus Tabellenblatt in neues kopieren
25.05.2018 10:23:10
UweD
Hallo
hier meine Lösung
Sub Tab_copy()
    On Error GoTo Fehler
    Dim TB, Ziel As Worksheet, Rng As String, SP As Integer, ZE As Integer, ZZ As Integer
    
    Set Ziel = Sheets("Zieltabelle")
    Rng = "I8:I16"
    ZE = 1 'Überschrift 
    ZZ = 2 'Zielzeile ab 
    
    For Each TB In ThisWorkbook.Worksheets
        If TB.Name <> Ziel.Name Then
            SP = WorksheetFunction.Match(TB.Name, Ziel.Rows(ZE), 0)
            TB.Range(Rng).Copy Ziel.Cells(ZZ, SP)
        End If
    Next
    
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
AW: Bereich aus Tabellenblatt in neues kopieren
25.05.2018 10:27:41
Matthias
Hallo

Sub kopieren()
Dim stRg As String, MyCount&, x&
stRg = "I8:I16"
MyCount = Worksheets.Count - 1 'Zielblatt muss das letzte sein!
For x = 1 To MyCount
Worksheets(x).Range(stRg).Copy Destination:=Worksheets(MyCount + 1).Cells(2, x)
Worksheets(MyCount + 1).Cells(1, x) = Worksheets(x).Name
Next
End Sub
Das letzte Blatt ist das Blatt in dem Du die Daten je Spalte haben willst (also ans Ende stellen!)
Aus allen vorherigen Blättern werden die Daten aus diesem Bereich geholt.
Gruß Matthias
Anzeige
AW: Bereich aus Tabellenblatt in neues kopieren
25.05.2018 10:37:45
Jakob
Lieber Werner, UweD und Matthias L,
Vielen Dank! Genau das, was ich gesucht habe!
Schönes Wochenende,
LG, Jakob
Gerne u. Danke für die Rückmeldung. o.w.T.
25.05.2018 10:48:56
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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