Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Arbeitsblatt kopieren ohne Quellcode | Herbers Excel-Forum


Betrifft: Arbeitsblatt kopieren ohne Quellcode von: Oliver
Geschrieben am: 24.02.2009 14:58:21

Hallo zusammen,

ich habe gerade in mühsamer Arbeit folgenden Code zum Ablegen von Sheets in Workbooks zusammengeschustert:
Dim strDatei As String
strDatei = "Ablage.xls"
Set wksMappeZ = Workbooks.Open(strDatei)
Set wksMappeQ = ThisWorkbook
wksMappeQ.Sheets("Kalkulation").Copy After:=wksMappeZ.Sheets(Sheets.Count)

wksMappeZ.Sheets(Sheets.Count).Activate

For Each Blattname In Worksheets
If Blattname.Name = Sheets(Sheets.Count).Cells(8, 6).Text Then
MsgBox ("Angebotsnummer bereits vorhanden!")
Application.DisplayAlerts = False
wksMappeZ.Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
wksMappeZ.Close SaveChanges:=True
Exit Sub
End If
Next Blattname
ActiveSheet.Name = Sheets("Kalkulation").Cells(8, 6).Value '///////Umbenennen des Sheets in Seriennummer
wksMappeZ.Close SaveChanges:=True

In der Zieldatei möchte ich allerdings nur den Inhalt der Datei (nicht den Quellcode) haben.
Die Suche ergibt nur diverse "Select" und "Paste" Varianten, die ich eigentlich vermeiden wollte.

Danke für Eure Hilfe im Voraus!

lg Haegarle

  

Betrifft: Siehe http://vba1.de von: NoNet
Geschrieben am: 24.02.2009 15:10:55

Hallo Hägar,

schau mal auf http://vba1.de/vba/080vbe_clean.php , dort findest Du ein Beispiel zum nachträglichen Löschen des VBA-Codes aus einer Mappe.
Wenn Du das komplette Tabellenblatt kopierst (und nicht nur die Inhalte/Formate), dann wird unweigerlich der darin enthaltene VBA-Code ebenfalls mit kopiert, da er Bestandteil des Tabellenblattes (bzw. dessne Klasse) ist. Du musst den Code also nachträglich entfernen...

Gruß, NoNet


  

Betrifft: AW: Siehe http://vba1.de von: Marc
Geschrieben am: 24.02.2009 15:20:56

Das hier reicht auch schon vor: wksMappeZ.Close SaveChanges:=True

With ActiveWorkbook.VBProject
.VBComponents.Remove .VBComponents("Modul1")
End With


  

Betrifft: AW: Siehe http://vba1.de von: Heinz
Geschrieben am: 24.02.2009 16:40:48

Hi,

nicht Code im Modul, sondern im Klassenmodul der Tabelle!

mfg Heinz


Beiträge aus den Excel-Beispielen zum Thema "Arbeitsblatt kopieren ohne Quellcode"