Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel vba Blatt kopieren Code killen
#1
Hallo zusammen,

hänge schon wieder in den Seilen und hoffe auf Eure Hilfe.

Ich möchte aus einer Arbeitsmappe heraus ein Tabellenblatt umkopieren. Ist soweit eigentlich kein Problem.
Es sind auf dem umzukopierenden Blatt aber mehrere CommandButtons und zugehörender vba-Code.

Ich brauche aber nur die Daten und die Formatierung.
Wie kann ich per vba nun das Blatt in eine andere Arbeitsmappe ohne die Commandbuttons und ohne den inkludierten Sourcecode kopieren?

Als Beispiel habe ich hier das Umkopieren-Modul und das Modul für das Löschen der Shapes.
Aber wie bekomme ich das zusammen, dass auch noch der Code gelöscht wird?

Code:
Public Sub CopySheet()
Dim wbkQuelle As Workbook
Dim wbkZiel As Workbook
Dim wksQuelle As Worksheet

Set wbkQuelle = Workbooks("Quelle.xlsm")
Set wbkZiel = Workbooks("Ziel.xlsm")

wksName = ActiveSheet.Name
Set wksQuelle = wbkQuelle.Worksheets(wksName)

wksQuelle.Copy After:=wbkZiel.Sheets(wbkZiel.Sheets.Count)

End Sub

Code:
'Löscht alle Steuerelemente (Buttons) im aktiven Tabellenblatt
Sub Kill_Buttons()
  Dim ws As Worksheet, j As Integer
  Dim btn2
 
  'Alle Buttons löschen
  With ActiveSheet
      For j = .OLEObjects.Count To 1 Step -1
        If .OLEObjects(j).progID = "Forms.CommandButton.1" Then
            .OLEObjects(j).Delete
        End If
      Next
  End With
 
  'Alle Toggekbuttons löschen
  For Each btn2 In ActiveSheet.Shapes
      If btn2.Name Like "ToggleButton*" Then
        btn2.Delete
      End If
  Next btn2
End Sub
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antwortento top
#2
vielleicht kopierst du nicht das ganze Blatt ,sondern nur den Datenbereich in ein neues , leeres Blatt.
[-] Folgende(r) 1 Benutzer sagt Danke an ralf_b für diesen Beitrag:
  • sharky51
Antwortento top
#3
Hallo Ralf,

danke für die Idee.

Ist eine Möglichkeit möchte es aber trotzdem auf die andere Weise versuchen.
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antwortento top
#4
https://www.herber.de/.....620214_Blatt_kopieren_Code_loeschen.html
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste