Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
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
Inhaltsverzeichnis

Kopieren von Blättern mit Werten

Kopieren von Blättern mit Werten
27.06.2018 08:56:24
Blättern
ch würde gerne aus einer Exceldatei per VBA ausgewählte bestimmte Bereiche aus ausgewählten Tabellenblättern in eine zweite Excel-Datei exportieren.
Folgende Nebenbedingungen sollen gelten:
1. Formeln sollen in der Zieldatei durch Werte ersetzt werden
2. Idealerweise sollen aus der Quelldatei nur die Zeilen kopiert werden, die Daten enthalten. Falls dies die Sache zu sehr kompliziert, dann wäre die feste Vorgabe des Bereichs z. B. B2:F1000 für mich ausreichend (individuell für jedes Tabellenblatt.
VG
Bernd
PS: Anbei eine Musterdatei
https://www.herber.de/bbs/user/122343.xlsx

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

Betreff
Datum
Anwender
Anzeige
AW: Kopieren von Blättern mit Werten
29.06.2018 22:30:16
Blättern
Hallo Bernd,
die Informationen sind noch etwas dürftig für eine Lösung.
Fragen:
  • Aus welchen Blättern sollen Daten in eine neue Arbeitsmappe kopiert werden?
    heißen die Blätter immer "Vorlage1", "Vorlage2" und "Vorlage3"
    Oder sind immer die Daten aus dem 2., 4. und 5. Tabellenblatt?

  • Kann man die Startzelle ab der die Daten kopiert werden sollen aus dem Blattnamen ableiten?
    Vorlage1: A1
    Vorlage2: A2
    Vorlage3: B3

  • Sollen die Daten in der neuen Arbeitsmappe wieder in 3 Blätter kopiert werden?
    oder
    Alle Zellenbereiche in 1 Tabellenblatt untereinander

  • Zielbereich?
    Wenn die Daten in 3 neue Tabellen kopiert werden, soll dann in gleichen Zellbereich kopiert werden oder immer in A1 beginnend?

  • ganze Tabellen kopieren?
    könnten auch die kompletten Tabellenblätter kopiert werden und dabei die Formeln durch ihre Werte ersetzt werden?

  • Gruß
    Franz
    Anzeige
    AW: Kopieren von Blättern mit Werten
    03.07.2018 13:47:01
    Blättern
    Hallo Franz,
    sorry für die späte Rückmeldung.
    Frage 1: Feste Namen
    Frage 2: Eigentlich nicht, also Blattname # Startzelle
    Frage 3: wieder in 3 Blätter
    Frage 4: Gleicher Zellbereich
    Frage 5: Nur die vorgegeben Bereiche
    Viele Grüße
    Bernd
    AW: Kopieren von Blättern mit Werten
    03.07.2018 16:11:01
    Blättern
    Hallo Bernd,
    hier mal das Makro-Grundgerüst.
    Falls die zu kopierenden Bereiche varieren, dann müssen Kriterien definiert werden nach denen Excel die Startzelle und die Größe des zu kopierendne Bereichs ermitteln soll.
    Gruß
    Franz
    'Code in einem allgemeinen Modul der Datei
    Option Explicit
    Sub Export_Daten()
    Dim wkbQuelle As Workbook, wksQuelle As Worksheet
    Dim wkbZiel As Workbook, wksZiel As Worksheet
    Dim rngStart As Range, rngCopy As Range, rngUsed As Range
    Set wkbQuelle = ActiveWorkbook
    For Each wksQuelle In wkbQuelle.Worksheets
    Set rngStart = Nothing
    With wksQuelle
    'Wenn die Starzelle der Daten und die Größe des zu kopierenden Bereich variieren, _
    dann mussen Kriterien festgelegt werden mit denen Excel Startzelle und zu _
    kopierenden Bereich ermitteln kann
    Select Case wksQuelle.Name 'Blattname in Quellblättern prüfen
    Case "Vorlage1"
    Set rngStart = .Range("A1")
    Set rngCopy = rngStart.Resize(11, 4)
    Case "Vorlage2"
    Set rngStart = .Range("A2")
    Set rngCopy = rngStart.Resize(9, 4)
    Case "Vorlage3"
    Set rngStart = .Range("B3")
    Set rngCopy = rngStart.Resize(15, 4)
    Case Else
    'do nothing
    End Select
    If Not rngStart Is Nothing Then
    If wkbZiel Is Nothing Then
    'neue Arbeitsmappe mit einem Tabellenblatt anlegen
    Set wkbZiel = Application.Workbooks.Add(Template:=xlWBATWorksheet)
    Else
    'neues Blatt in Zielmappe anfügen
    With wkbZiel
    .Worksheets.Add After:=.Worksheets(.Worksheets.Count)
    End With
    End If
    With wkbZiel
    'letztes Blatt in Zielmappe als Zieltabelle stzen
    Set wksZiel = .Worksheets(.Worksheets.Count)
    'Zielblatt umbenennen
    wksZiel.Name = wksQuelle.Name
    End With
    'Spaltenbreiten in Zielmappe gleich Breiten in Quellblatt setzen
    Set rngUsed = wksQuelle.UsedRange
    rngUsed.Copy
    wksZiel.Range(rngUsed.Address).PasteSpecial Paste:=xlPasteColumnWidths
    'Quellbereich kopieren und im Ziel Formate und Werte an gleicher Position einfügen
    rngCopy.Copy
    wksZiel.Range(rngCopy.Address).PasteSpecial Paste:=xlPasteFormats
    wksZiel.Range(rngCopy.Address).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range(rngStart.Address).Select
    End If
    End With
    Next
    End Sub
    

    Anzeige

    301 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige