Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
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

nur bestimmte Codes übernehmen

nur bestimmte Codes übernehmen
09.11.2012 10:12:55
Wolfgang
Hallo,
mit nachfolgendem Code wird die aktuelle Arbeitsmappe unter Löschen nicht benannter Tabellenblätter a.d. Desktop kopiert. Wie kann ich den Code ergänzen, dass auch nur bestimmte Codes aus der Arbeitsmappe übernommen werden und alle anderen Codes/Makros ebenfalls gelöscht werden? Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
'Speichert aktuelle Mappe unter untenstehenden Namen ab und löscht alle anderen Tabellen
Sub Speichern1234()
Application.ScreenUpdating = False
Dim wks As Worksheet
Dim i As Long, x As Long
x = 0
For i = 1 To ActiveWorkbook.Sheets.Count
If Sheets(i).Name = "Ergebnisse" Then x = x + 1
Next i
If x > 0 Then
MsgBox "Die gefilterten Daten werden auf Ihrem Desktop gespeichert, der Vorgang kann etwas   _
_
dauern! Bitte OK drücken.", vbOKOnly
Else
MsgBox "Sie haben noch keine Daten gefiltert, die exportiert werden könnten !", vbCritical
Exit Sub
End If
ThisWorkbook.SaveAs "C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\ _
Ergebnisse." & Date & ".xlsm"
Application.DisplayAlerts = False
For Each wks In Worksheets
If wks.Name = "Ergebnisse" Then
Else
wks.Delete
End If
Next
ThisWorkbook.Save
ThisWorkbook.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nur bestimmte Codes übernehmen
09.11.2012 11:55:42
Wolfgang
Hallo Rudi,
danke zunächst für Deine schnelle Rückmeldung. Die Arbeitsmappe enthält verschiedene Module. Am liebsten wäre mir, zunächst im Ansatz alle vorhandenen Module, auch Blattmodule, zu löschen, außer z.B. "Modul1" und "Modul2", die dann übrigbleiben sollten; Ich schaue mir Deinen Hinweis nachher in Ruhe an, ob ich daraus etwas in dem Sinne "basteln" könnte. Wäre Dir aber sehr dankbar, wenn Du vielleicht direkt schon eine Idee hättest, mir diese mitzuteilen. Danke nochmals recht herzlich!
Gruß - Wolfgang

Anzeige
AW: nur bestimmte Codes übernehmen
09.11.2012 11:59:43
Rudi
Hallo,
auch Blattmodule, zu löschen,
aus denen kannst du nur den Code löschen, nicht die Module selbst.
Gruß
Rudi

AW: nur bestimmte Codes übernehmen
09.11.2012 13:34:24
Wolfgang
Hallo Rudi,
die Codes im Blattmodul zu löschen wäre noch idealer, weil auch bestimmte Codes im Blattmodul nicht gelöscht werden sollten. Kannst Du mir da einen Hinweis geben, wie ich da vorgehen könnte?
Danke und Gruß, Wolfgang

AW: nur bestimmte Codes übernehmen
09.11.2012 14:24:02
Rudi
Hallo,
z.B.
Sub Call_Kill_Proc()
'einzeln
Kill_Proc Workbooks("Mappe6"), Sheets("tabelle1"), "Worksheet_SelectionChange"
'oder alle
'  Kill_Proc Workbooks("Mappe6"), Sheets("tabelle1"), ""
End Sub
Sub Kill_Proc(wkb As Workbook, wks As Worksheet, sProc As String)
Dim iFirst, iCount
With ActiveWorkbook.VBProject.VBComponents(wks.CodeName).CodeModule
If sProc = "" Then
.DeleteLines 1, .CountOfLines
Else
iFirst = .ProcStartLine(sProc, vbext_pk_Proc)
iCount = .ProcCountLines(sProc, vbext_pk_Proc)
.DeleteLines iFirst, iCount
End If
End With
End Sub

Gruß
Rudi

Anzeige
AW: nur bestimmte Codes übernehmen
10.11.2012 08:22:48
Wolfgang
Hallo Rudi,
sorry zunächst, dass ich mich jetzt erst melde. Ich hatte gestern wider Erwarten noch Gäste und kam somit nicht mehr ins Forum. Danke für Deine schnelle Rückmeldung. Deinen Code konnte ich soweit aufgreifen und verstehen, so dass ich ihn angepasst habe und er mir nun bestimmte Blattmodule löscht. Was ich noch nicht hinbekomme, ist das löschen von anderen Modulen. Wie kann ich den Code da anpassen?
Danke Dir schon jetzt wieder für die Rückmeldung.
Gruß - Wolfgang

AW: nur bestimmte Codes übernehmen
11.11.2012 16:47:00
Rudi
Hallo,
hab noch einen Fehler gefunden. Es muss natürlich
  With wkb.VBProject.VBComponents(wks.CodeName).CodeModule

heißen.
zur Frage:
wkb.VBProject.VBComponents.remove wkb.VBProject.VBComponents("Modul1")
Gruß
Rudi

Anzeige
Vielen Dank, Rudi !!!
12.11.2012 05:28:47
Wolfgang
Hallo Rudi,
herzlichen Dank für Deine erneute Rückmeldung und Ergänzungen. Ich habe den Code soweit angespasst und die Änderungen/Ergänzungen "eingebaut"; Ich meine, er läuft nun tadellos und habe keine Probleme festgestellt. Hab nochmals Dank dafür!!
Gruß und einen schönen Tag
Wolfgang

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige