Microsoft Excel

Herbers Excel/VBA-Archiv

Kopieren in autom. erstellte neue Mappen

Betrifft: Kopieren in autom. erstellte neue Mappen von: Dorit
Geschrieben am: 25.10.2020 07:52:12

Hallo,

leider habe ich keine VBA-Erfahrung, aber eine Menge Daten zu verarbeiten.

In meiner Tabelle: https://www.herber.de/bbs/user/141062.xlsx gibt es einmal 'Tabelle 1' mit den Daten pro Vegetationseinheit. Nun möchte ich die Arten pro Einheit filtern (alle leeren Zellen ausschließen) und anschließend die Artnamen und die Zahlen (Zeile 3 bis 177) in ein neues Arbeitsblatt in A5 bis B64 reinkopieren. Dieses neue Arbeitsblatt soll eine Kopie des Blattes 'blank' sein und automatisch nummeriert werden, fortlaufend ab 5 bzw. nach Zeile 1 in 'Tabelle 1'.

In einem zweiten Arbeitsschritt würde ich dann gerne aus jeder blank-Kopie die Zellen A4 bis B74 in ein Worddokument kopieren...

Sofern das überhaupt möglich ist, würde ich mich sehr über eine Hilfestellung freuen. :-)

Vielen Dank schon mal und liebe Grüße,
Dorit

Betrifft: AW: Kopieren in autom. erstellte neue Mappen
von: Hajo_Zi
Geschrieben am: 25.10.2020 08:30:36

Hallo Dorit,

ich kann Dir Leider nicht helfen, da bei mir eine XLSX Datei kein Makro enthält. Mein Makro ist also niucht da.
Da ich nicht für den Papierkorb arbeite bin ich raus.
Vierl Erfolg noch.

Benutze Autofilter und Kopiere den sichtbaren Bereich, Start, Bearbeiten, Suchen..., Gehe zu, Inhalte, sichtbare Zellen.
Excel hat auch einen Makrorecorder.

GrußformelHomepage

Betrifft: AW: Kopieren in autom. erstellte neue Mappen
von: Dorit
Geschrieben am: 25.10.2020 11:15:39

Hallo, Hajo!

Deine Antwort habe ich leider nicht ganz verstanden. Habe ich die Datei im falschen Format hochgeladen? Das, was ich bis jetzt versucht habe, hat alles nicht funktioniert, deswegen habe ich kein Makro, aber ich dachte, daß sich so etwas über ein Makro lösen lassen könnte?

Liebe Grüße,
Dorit

Betrifft: AW: Kopieren in autom. erstellte neue Mappen
von: Hajo_Zi
Geschrieben am: 25.10.2020 11:18:28

Hallo Dorit,

ich bin dann raus, da meine Beiträge nicht komplett gelesen werden.
Das wird schon seinen Grund haben.
Ich schreibe nicht für den Papierkorn. Ich bin dann raus.
Viel Erfolg noch.

Gruß Hajo

Betrifft: AW: Kopieren in autom. erstellte neue Mappen
von: ralf_b
Geschrieben am: 25.10.2020 12:20:51

Hallo Dorit,

was hast du denn bisher versucht? Wir sind hier um dir zu helfen in Zukunft deine Herausforderungen im Alleingang zu lösen. Das geht schlecht wenn du uns nichts zum helfen gibst. Das was du du uns gegeben hast, läßt vermuten, das du dir es einfach machen willst. Wird sich schon Jemand finden, der mir die Sachen programmiert.

Ich hab da mal was vorbereitet. https://www.herber.de/bbs/user/141065.xlsm
mit Kommentaren zu dem Code. Ich hoffe du schaust ihn dir auch an. Bei Verständnisproblemen kannst du gerne hier nachfragen.

Betrifft: AW: Kopieren in autom. erstellte neue Mappen
von: Dorit
Geschrieben am: 25.10.2020 15:55:31

Hallo, Ralf!

Vielen Dank für Deine Hilfe. Die Arbeitsblätter hat das Makro hervorragend produziert, wie ich die automatische Blätterproduktion mit der Makroaufzeichnerei hinbekommen hätte, wüßte ich nicht. Nun wollte ich den Code so anpassen, daß nur die Werte und nicht die Formatierung kopiert werden und habe versucht, folgenden Code https://www.herber.de/forum/archiv/420to424/421901_Zellen_kopieren_ohne_Formatierung.html einzubauen:
Sub Kopieren()

Sheets("Datei1).Range("A4").Copy
Sheets("Datei2).Range("B4").PasteSpecial Paste:=xlPasteValues

End Sub
Mir ist allerdings nicht so klar, was da wie ersetzt werden soll, da ich in Deinem Code kein Paste finde. Ich habe verschiedene Varianten probiert, z. B. sieht es dann bei mir in Zeile 62 so aus:
wsTab1.Range(wsTab1.Cells(5, x), wsTab1.Cells(lrow, x)).SpecialCells(xlCellTypeVisible).Copy .Range("B5").PasteSpecial _Operation:=xlPasteValues
und funktioniert nicht...

Ich wäre Dir nochmal sehr dankbar für eine Hilfestellung.

Liebe Grüße
Dorit

Betrifft: AW: Kopieren in autom. erstellte neue Mappen
von: Werner
Geschrieben am: 25.10.2020 16:14:22

Hallo,

hier eine andere Version, ohne Autofilter. Es werden nur die Werte übertragen.
Achtung: Ich habe keine Fehlerüberprüfung drin, ob die Blätter ggf. schon vorhanden sind.
Option Explicit

Public Sub Versuch()
Dim loZeile As Long, loSpalte As Long, i As Long
Dim raBereich As Range

Application.ScreenUpdating = False

With Worksheets("Tabelle1")
    loSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column
    For i = 3 To loSpalte
        Sheets("blank").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = i + 2
        loZeile = .Cells(.Rows.Count, i).End(xlUp).Row
        Set raBereich = Union(.Range(.Cells(3, i), .Cells(loZeile, i)) _
        .SpecialCells(xlCellTypeConstants).Offset(, -i + 1), _
        .Range(.Cells(3, i), .Cells(loZeile, i)).SpecialCells(xlCellTypeConstants))
        raBereich.Copy
        Worksheets(i + 2).Range("A5").PasteSpecial Paste:=xlPasteValues
        Set raBereich = Nothing
    Next i
End With

Set raBereich = Nothing
Application.CutCopyMode = False
End Sub
Gruß Werner

Betrifft: AW: Kopieren in autom. erstellte neue Mappen
von: ralf_b
Geschrieben am: 25.10.2020 16:51:07

der unterschied liegt darin dass 1 Befehl .range().copy .range() "Hier wird die destination:=" als Parameter angegeben.

nicht das Gleiche ist wie 2 Befehle
range().copy
range().paste
 wsTab1.Range(wsTab1.Cells(5, 1), wsTab1.Cells(lrow, 1)).SpecialCells(xlCellTypeVisible).Copy
    .Range("A5").PasteSpecial Paste:=xlPasteValues
    
    wsTab1.Range(wsTab1.Cells(5, x), wsTab1.Cells(lrow, x)).SpecialCells(xlCellTypeVisible). _
Copy
    .Range("B5").PasteSpecial Paste:=xlPasteValues
    
    Application.CutCopyMode = False


Betrifft: AW: Kopieren in autom. erstellte neue Mappen
von: Dorit
Geschrieben am: 25.10.2020 22:44:25

Hallo, Ralf!

Vielen Dank nochmal für die Erklärung, das hat funktioniert! Ich habe es sogar noch geschafft, ein Sortiermakro zu bauen.

Liebe Grüße und gute Nacht,
Dorit

Betrifft: danke für die rückmeldung -owT
von: ralf_b
Geschrieben am: 25.10.2020 23:08:40



Beiträge aus dem Excel-Forum zum Thema "Kopieren in autom. erstellte neue Mappen"