Anzeige
Archiv - Navigation
1088to1092
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

Blatt Kopieren ohne Shapes

Blatt Kopieren ohne Shapes
ptonka
Hallo zusammen,
ich kopiere den Inhalt eines gesamten Blattes (Tabelle1) auf ein 2. Blatt (Tabelle2) um die Daten dort weiter zu verarbeiten. Nun habe ich auf Tabelle1 mehrere Schaltflächen, um Makros zu starten.
Diese werden beim kopieren (per VBA) auch mit auf das 2. Blatt kopiert.
Hier der simple Code:
Sheets("Tabelle1").Select
Cells.Select
Selection.Copy
Sheets("Tabelle2").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Wie kann ich es vermeiden, dass die Schaltflächen (Shapes) auch mit kopiert werden und nur der reine Zellinhalt übernommen wird?
Für einen Tipp wäre ich sehr dankbar.
Gruß,
Ptonka
AW: Blatt Kopieren ohne Shapes
22.07.2009 10:53:00
robert
hi,
auf tabelle2 die shapes löschen,
ev.einmal mit recorder aufzeichnen
gruß
robert
AW: Blatt Kopieren ohne Shapes
22.07.2009 10:56:32
ptonka
Hallo robert,
das wäre mir zu einfach.
Es muss doch möglich sein, die Shapes vom Kopiervorgang auszuschliessen.
Gruß,
Ptonka
Und was wünschst Du dir noch alles ?
22.07.2009 11:15:28
NoNet
Hallo Ptonka,
Es muss doch möglich sein, die Shapes vom Kopiervorgang auszuschliessen.

Da ist wohl mehr Dein Wunsch der Vater des Gedanken ?
Nicht Du oder WIR genben vo, wleche Möglichkeitne per VBA möglich sind, sondern immer noch MS - und die haben das Kopieren eines Blattes ohne Shapes (wie von Dir gewünscht) eben nicht vorgesehen.
Worin liegt aber das Problem, die Shapes aus dem kopierten Blatt nachträglich einfach wieder zu löschen ?
Das erscheint zwar umständlich, aber mangels Möglichkeitne die einzige Alternative.
Es sei denn Du kopierst nicht das komplette Tabellenblatt, sondern einfach nur die Zellen des Blattes :

ActiveSheet.Cells.Copy
With Sheets(2).[A1] 'Kopiert in das 2.Tabellenblatt
.PasteSpecial xlValues
.PasteSpecial xlPasteFormats
End With
Application.CutCopyMode = False

Gruß, NoNet
Anzeige
Application.CopyObjectsWithCells = False
24.07.2009 08:47:49
ransi
HAllo Ptonka
Auch wenn wir uns jetzt Mühe gegeben haben die Shapes anschließend zu löschen.
Da gibts wirklich eine Einstellung die die shapes nicht mit kopiert:
Dim alt As Boolean
alt = Application.CopyObjectsWithCells
Application.CopyObjectsWithCells = False
Sheets("Tabelle1").Cells.Copy Sheets("Tabelle2").Range("a1")
Application.CopyObjectsWithCells = alt

ransi
Anzeige
AW: Blatt Kopieren ohne Shapes
22.07.2009 10:58:22
ransi
HAllo
Versuch es mal so:
Sheets("Tabelle1").Cells.Copy Sheets("Tabelle2").Range("a1")
Sheets("Tabelle2").Shapes.SelectAll
Selection.Delete
ransi
HIIIILFE : ".Select..." ;-)
22.07.2009 11:06:02
NoNet
Hallo Ransi,
mich überkommt imer eine Art B****reiz, wenn ich .Select im VBA-Code sehe ;-)
Leider ist das in Deinem Beispiel nicht ohne .SelectAll (ist ja auch eine Art "Select") nicht ohne machbar.
Allerdings könnte man die Shapes auch in einem Rutsch so löschen : ActiveSheet.DrawingObjects.Delete
Gruß, NoNet
AW: HIIIILFE : ".Select..." ;-)
22.07.2009 11:12:22
robert
hi NoNet
sehr gute lösung,
aber er will sie nicht löschen, sondern vom kopiervorgang ausschließen-
lt.seiner antwort an mich-geht das ?
gruß
robert
Anzeige
AW: HIIIILFE : ".Select..." ;-)
22.07.2009 11:19:04
ransi
HAllo
Klar, DrawingObjects !!
Aber so ganz nebenbei:
Wer shapes mit Makros belegt und die dann auch noch irgendwohin kopiert shafft sich Probleme die nicht sein müssen.
Die Steuerelemente aus der Steuerelemente ToolBox kopieren sich nicht mit.
rans
Die sehen aber nicht so "schön" aus ;-) _oT
22.07.2009 12:51:45
NoNet
_oT = "ohne Text"
..ja das stimmt ! aber..
22.07.2009 13:06:25
robert
hi NoNet,
frage:
da sich ptonka nicht meldet-was hältst du von meiner antwort
mit ActiveSheet.DrawingObjects.Visible = False, bzw. True ?
sinnvoll..?
gruß
robert
Eher NICHT sinnvoll, da...
22.07.2009 13:25:23
NoNet
Hallo Robert,
ich halte die Methode, die Objekte ein-/auszublenden nicht für praxisgerecht, da...
  • ...sie evtl. Verknüpfungen zur alten Mappe beinhalten können (vor allem bei Diagrammen !)

  • ...sie evtl. unnötige Rechenzeit beanspruchen (z.B. bei Diagrammen)

  • ...sie immer noch in der Datei vorhanden sind und diese unnötigerweise "aufblähen" - vor allem wenn es viele oder speicherintensive Objekte wie Fotos oder Screenshots sind

  • ...sie evtl. beim Hinzufügen von neuen Shapes die "sichtbare" Reihenfolge durcheinander bringen (z.B. bezieht sich Shapes(1) dann auf das erste (unsichtbare) Objekt und nicht auf ein neu hinzugefügtes sichtbares Objekt)

  • Je nach Bedarf (z.B. temp. Unsichtbarkeit) kann diese Methode allerdings erwünscht sein.
    Andererseits löscht das Entfernen der Objekte per .Delete nicht deren verknüpfte VBA-Codes !
    Gruß, NoNet
    Anzeige
    z.B. temp. Unsichtbarkeit.....
    22.07.2009 13:37:09
    robert
    hi NoNet,
    meine frage hast du mit diesem satz bestätigt :-)
    ..."Je nach Bedarf (z.B. temp. Unsichtbarkeit) kann diese Methode allerdings erwünscht sein"...
    alles andere ist sicher ! richtig, aber es kommt meiner meinung nach immer
    auf das spezielle problem an.
    danke jedenfalls für deine kompetenten erklärungen, ich werde versuchen,
    sie bei gelegenheit zu beherzigen
    gruß
    robert
    AW: Blatt Kopieren ohne Shapes
    22.07.2009 11:12:23
    Matthias
    Hallo
    vielleicht so
    Option Explicit
    Sub value()
    Dim rng As Range
    For Each rng In Worksheets("Tabelle1").UsedRange
    Worksheets("Tabelle2").Range(rng.Address) = rng.value
    Next
    End Sub
    

    Gruß Matthias
    Anzeige
    AW: Blatt Kopieren ohne Shapes
    22.07.2009 11:25:10
    robert
    hi,
    oder so ?
    gruß
    robert
    Sub tt()
    ActiveSheet.DrawingObjects.Visible = False
    MsgBox "ich bin weg"
    ActiveSheet.DrawingObjects.Visible = True
    MsgBox "ich bin wieder da"
    End Sub
    

    AW: mit PasteSpecial xlpasteAll
    22.07.2009 23:12:58
    Daniel
    Hi
    so geht kopieren eines ganzen Blattes ohne Shapes:
    Sheets("Tabelle1").Cells.Copy
    Sheets("Tabelle").Cells(1,1).pastespecial xlpasteall
    

    Gruß, Daniel

    305 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige