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

VBA Code importieren

VBA Code importieren
05.06.2009 11:18:38
Lars
Hallo zusammen,
ich hoffe ich bekomme mein Problem verständlich erklärt, ich habe eine exceldatei in der makros sowohl in einzeln Tabellenblättern wie auch in "dieserArbeitsmappe" hinterlegt sind.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox ("--> Personalplanung wird ausgeblendet 


Einzelne Tabellenblätter kopiere ich per Makro etc. in eine neue Arbeitsmappe die auch automatisch Speicherort und Name generiert, soweit alles kein problem.
Mein problem ist aber wie bekomme ich den obigen Code auch automatisch in die neue Arbeitsmappe an die gleiche Stelle ("DieseArbeitsmappe")das er funktioniert ?
Grüße Lars

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code importieren
05.06.2009 11:22:03
Lars
Anmerkung noch .... Alternativ wäre meine Frage wie ich den Code als CLS datei an die richtige Stelle importiert bekomme so dass der code nicht im Klassenmodul landet.
Danke
AW: VBA Code importieren
05.06.2009 11:31:54
Rudi
Hallo,
als Ansatz:

Sub tt()
Dim wkb As Workbook
Const sCode As String = _
"Private Sub Workbook_BeforeClose(Cancel As Boolean)" & vbLf & _
"  MsgBox (""--> Personalplanung wird ausgeblendet 


Gruß
Rudi

AW: VBA Code importieren
05.06.2009 13:02:10
Lars
Hallo,
bin da schon sehr begeistert von, nur passiert momentan auch aufgrund meines mangelden Kenntnis folgendens, er macht bei Ausführen des Code ein neue Arbeitsmappe auf (habe deinen Code deswegen noch mal rausgenommen) .... poste mal meinen ganzen Code (Stand jetzt) rein

Private Sub Werte_übertragen_Click()
Sheets("Personalplanung 2010").Visible = True
Sheets(Array("Passwörter", "Planungstool", "Listen 1", "Personalplanung 2010")).Select
Sheets("Listen 1").Activate
Sheets(Array("Passwörter", "Planungstool", "Listen 1", "Personalplanung 2010")).Copy
Sheets("Planungstool").Select
ActiveSheet.Range("A1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.BreakLink Name:= _
"O:\67\Planungsdetails\Planung 2010\Datenhaushalt 2009.xls", Type:= _
xlExcelLinks
ActiveSheet.Range("M5:M6").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Range("M2").Select
Application.CutCopyMode = False
ActiveSheet.Shapes("ComboBox1").Select
Selection.Delete
Sheets("Personalplanung 2010").Visible = xlVeryHidden
Sheets(Array("Passwörter", "Listen 1")).Select
Sheets("Passwörter").Activate
ActiveWindow.SelectedSheets.Delete
ActiveSheet.Range("H:L,A:F").Select
ActiveSheet.Range("F1").Activate
Selection.EntireColumn.Hidden = True
ActiveSheet.Range("G27:G30").Select
Selection.Interior.ColorIndex = xlNone
ActiveSheet.Range("M4").Select
ActiveSheet.Shapes("Werte_übertragen").Select
Selection.Delete
ActiveSheet.Protect Password:="XXX"
Application.Dialogs(xlDialogSaveAs).Show (Range("M6") & ".xls")
Gibt es einen Möglichkeit die zwei Arbeitsmappencodes dort einzubinden:


Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox ("--> Personalplanung wird ausgeblendet 



Private Sub Workbook_BeforeSave(ByVal SpeichernAngezeigt As Boolean, Abrechen As Boolean)
MsgBox ("--> Personalplanung wird ausgeblendet 


Das wäre super genial--- bin leider noch in meinen Anfängen da ;-)
danke für die Hilfe
Lars

Anzeige
AW: VBA Code importieren
05.06.2009 13:23:13
Rudi
Hallo,
da kriegt man ja nen Hirnkrampf.
Warum kopierst du erst Blätter und löschst sie dann wieder?
Meine Sicht:

Private Sub Werte_übertragen_Click()
Sheets("Personalplanung 2010").Visible = True
Sheets(Array("Passwörter", "Planungstool", "Listen 1", "Personalplanung 2010")).Copy
ActiveWorkbook.BreakLink Name:= _
"O:\67\Planungsdetails\Planung 2010\Datenhaushalt 2009.xls", Type:= _
xlExcelLinks
With Sheets("Planungstool")
.Range("A1").Value = .Range("A1").Value
.Range("M5:M6").Value = .Range("M5:M6").Value
.Shapes("ComboBox1").Delete
End With
Sheets("Personalplanung 2010").Visible = xlVeryHidden
Sheets(Array("Passwörter", "Listen 1")).Select  '?
ActiveWindow.SelectedSheets.Delete      '?
With ActiveSheet
.Range("H:L,A:F").EntireColumn.Hidden = True
.Range("G27:G30").Interior.ColorIndex = xlNone
.Shapes("Werte_übertragen").Delete
.Protect Password:="XXX"
End With
CodesRein
Application.Dialogs(xlDialogSaveAs).Show (Range("M6") & ".xls")
End Sub
Sub CodesRein()
Const sCode As String = _
"Private Sub Workbook_BeforeClose(Cancel As Boolean)" & vbLf & _
"  MsgBox (""--> Personalplanung wird ausgeblendet  Personalplanung wird ausgeblendet 

Gruß
Rudi

Anzeige
AW: VBA Code importieren
05.06.2009 13:50:04
Lars
hallo Rudi,
du hast natürlich recht das macht keinen Sinn die kopieren etc. ist ziemlich Schwachsinn
habe sie rausgenommen, Bekomme allerdings wenn ich an den Sub Codesrein() komme einen Syntaxfehler ausgewiesen !? Weiss allerdings nicht wieso.
Hoffe auf weniger Hirnkrämpfe :-)
Vielen Dank für die Geduld
Lars
AW: VBA Code importieren
05.06.2009 13:59:28
Rudi
Hallo,
das entspricht nicht der Definition:
Private Sub Workbook_BeforeSave(ByVal SpeichernAngezeigt As Boolean, Abrechen As Boolean)
es muss heißen
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Syntaxfehler: liegt an der Forensoftware
bei As Boolean) _ ist der _ zu viel.
Gruß
Rudi
Anzeige
DANKE
05.06.2009 14:14:41
Lars
SUPER ! Herzlichen Dank !
wo kann ich mich zu Schulungen anmelden ?
AW: DANKE
05.06.2009 14:34:06
Rudi

wo kann ich mich zu Schulungen anmelden ?


keine Ahnung. Evtl VHS?
Gruß
Rudi

AW: DANKE
05.06.2009 14:46:53
Lars
eine Frage habe ich noch ich bekomme jetzt leider immer einen Laufzeitfehler (9) angezeigt, wo kommt das denn jetzt her ? Zweimal lief es problemlos
womit könnte das zusammen hängen verweis geht auf die vorletzte Zeiel CodesRein()
With ActiveWorkbook
.VBProject.VBComponents(.CodeName).CodeModule.AddFromString sCode

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige