Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich komplett in anderes Blatt kopieren

Bereich komplett in anderes Blatt kopieren
12.03.2007 11:26:00
Thomas
Hai,
gibt es einen einfachen Befehl um einen kompletten Bereich (A10:K34) inkl. aller Formate (Rahmen, Textfarbe, Hintergrund usw.) von z.B. dem aktuellen Arbeitsblatt in ein noch anzulegendes anderes Arbeitsblatt zu kopieren, dessen Name in 'blattneu' steht und die Daten da direkt in den Bereich (A1:K24) einzuspeisen?
Tommi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich komplett in anderes Blatt kopieren
12.03.2007 14:32:43
regina
Hallo Thomas,
ist es in dem Beispiel nicht das beste, wenn du das komplette Tabellenblat kopiers und dann die Zeilen A1:A9 entfernst. ansonsten Bereich markieren, kopieren und im neuen Tab BEARBEITEN-INHALTE EINFÜGEN
und dann auf ALLES markieren.
Gruß Regina
AW: Bereich komplett in anderes Blatt kopieren
12.03.2007 15:47:00
Thomas
Hallo Regina,
hmm, würde auch gehen, aber wie? Also per VBA eben. Ich hatte halt gedacht, dass man einfach im aktuellen Blatt den Bereich angeben kann, den man kopieren will und das Ziel mit Adresse, so im Stil von
mit Zielblattname in StringVar q
COPY Aktuell.WS.Range(Cells(10,1),Cells(34,11)) To WSName(q).Range(Cells(1,1)
So in der Art, aber wenn das nur kompliziert ist, wie kopiert man das gesamte Blatt in ein neues?
LG,
Tommi
Anzeige
AW: Bereich komplett in anderes Blatt kopieren
12.03.2007 16:07:00
regina
Hallo Thomas,
das wäre der Code zum Kopieren,
Sub Makro3()
Sheets("Tabelle1").Range("A10:K34").Copy
Sheets("Tabelle2").Range("A1:K24").Paste
End Sub

Ganzes Tabellenblatt kopieren mit der recheten Maustaste auf den Tabellennamen klicken
VERSCHIEBEN/KOPIEREN anklicken KOPIE erstellen anklicken
dann wird die ganze Tabelle kopiert
Gruß regina
AW: Bereich komplett in anderes Blatt kopieren
12.03.2007 16:19:21
Thomas
Hallo Regina,
wenn ich das eingebe, dann kommt...
'Objekt unterstützt diese Eigenschaft oder Methode nicht'
Was fast funktioniert, das habe ich eben gefunden, ist (Test=Aktuelles Blatt und aaa das Zielblatt)
'Worksheets("Test").Range("1:21").Copy
'Worksheets("aaa").Paste Destination:=Worksheets("aaa").Range("A2")
Das Dumme ist nur, dass die Spaltenbreiten z.B. nicht mit übertragen werden. Auch ungeschickt, dass man das aktuelle Arbeitsblatt angeben muss, oder kann man das einfach weglassen?
Tommi
Anzeige
AW: Bereich komplett in anderes Blatt kopieren
12.03.2007 16:29:20
regina
Hallo,
wenn das Blatt in an erster Stelle steht dann geht es auch so
'Worksheets(1).Range("1:21").Copy
Gruß Regina
AW: Bereich komplett in anderes Blatt kopieren
12.03.2007 16:50:33
Odje.K
Hallo Tommi,
versuche es mal hiermit.
Ich denke doch das du damit klar kommst.
Gruß Odje
  • Sub AktivesBlatt_kopieren()
    Rem Der selektierte Bereich eines ArbeitsBlattes wird kopiert
    Rem Zieladresse ist A1
    Rem Das Seitenlayout wird übernommen
    Rem Zeilenhöhe und Spaltenbreite werden übernommen
    Dim wb As Workbook, ws As Worksheet, ws2 As Worksheet, r As Range
    Dim i As Long, s As Long, sp As Long, x As Long, z As Long
    Dim Zeilen As Long, Spalten As Long
    Dim sBlattname As String
    Application.ScreenUpdating = False
    Set wb = ActiveWorkbook
    Set ws = ActiveSheet
    Set r = Selection
    For i = 1 To 256
    z = ws.Cells(65536, i).End(xlUp).Row
    If Zeilen < z Then Zeilen = z
    Next i
    For i = 1 To 65536
    s = ws.Cells(i, 256).End(xlToLeft).Column
    If Spalten < s Then Spalten = s
    Next i
    'Neues Blatt anlegen
    Set ws2 = wb.Worksheets.Add(After:=wb.Worksheets(wb.Worksheets.Count))
    Rem Seitenlayout übernehmen
    With ws.PageSetup
    ws2.PageSetup.BottomMargin = .BottomMargin
    ws2.PageSetup.FooterMargin = .FooterMargin
    ws2.PageSetup.HeaderMargin = .HeaderMargin
    ws2.PageSetup.LeftMargin = .LeftMargin
    ws2.PageSetup.Orientation = .Orientation
    ws2.PageSetup.PaperSize = .PaperSize
    ws2.PageSetup.RightMargin = .RightMargin
    ws2.PageSetup.TopMargin = .TopMargin
    End With
    Rem selektierten Bereich auf neues Blatt A1 kopieren
    r.Copy ws2.Range("A1")
    Rem Zeilehöhen übertragen
    z = 0
    For x = r.Row To r.Row + r.Rows.Count - 1
    z = z + 1
    ws2.Rows(z).RowHeight = ws.Rows(x).RowHeight
    Next
    'Spaltenbreiten übertragen
    sp = 0
    For x = r.Column To r.Column + r.Columns.Count - 1
    sp = sp + 1
    ws2.Columns(sp).ColumnWidth = ws.Columns(x).ColumnWidth
    Next
    'Blattnamen aus Tabelle1 Zelle ("A1")
    sBlattname = wb.Worksheets("Tabelle1").Range("A1").Value
    'auf neuem Tabellenblatt setzen
    On Error Resume Next
    ws2.Name = sBlattname
    If Err.Number <> 0 Then
    MsgBox _
    "Tabellenblatt konnte nicht nach Tabelle1 Range A1 benannte werden." & vbLf & _
    "Grund: " & Err.Description & vbLf & _
    "Inhalt: ' " & sBlattname & " '"
    Err.Clear
    End If
    On Error GoTo 0
    AUFRAEUMEN:
    Set wb = Nothing: Set ws = Nothing: Set ws2 = Nothing: Set r = Nothing
    Application.ScreenUpdating = True
    End Sub
    

  • Anzeige
    AW: Bereich komplett in anderes Blatt kopieren
    12.03.2007 17:54:08
    Thomas
    Hallo Odje,
    ohje, das sieht aber nach deutlich komplizierter aus, ich hatte auf eine Zeile Befehl oder eine 2-fach verschachtelte Schleife gehofft.
    Seufz - okay, dann muss ich meine Formatierungsbefehle wohl auf das ZielBlatt loslassen.
    Und es gibt wirklich keinen einzelnen Befehl der z.B. das gesamte Datenblatt 1:1 dupliziert und bei dem man einen neuen Namen angeben kann? Es scheint mir als ob das nachträgliche Rauslöschen der unnötigen Zeilen wirklich einfacher wäre...
    LG,
    Tommi

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige