Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Code per Makro in Arbeitsblatt einfügen

VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 18:02:46
Andy
Hallo.
Ich hoffe dass Ihr mir helfen könnt..
In einer Tabelle habe ich ein Tabellenblatt und lasse automatisch, abhängig von bestimmten Eingaben,weitere Tabellenblätter (bis zu 30) anlegen. Nun würde ich gerne diese Tabellenblätter auch gleich noch mit einem (immer gleichen) VBA Code hinterlegen, der dann beim anklicken des Blattes ausgeführt werden soll.
Nur wie bekomme ich den Code in die Tabellenblätter hinein (ohne ihn jedesmal schreiben zu müssen) also per VBA.
Hab im Forum nichts wirklich gefunden, was mir weitergeholfen hat. :-(
Vielleicht habt Ihr ne Idee?
Danke schonmal für Eure Hilfe!
LG Andy

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 18:18:20
Kurt
Hi,
mach dir ein Blatt mit Code als Vorlage, beim Kopieren des ganzen Blatts wird der Code mitkopiert.
mfg Kurt
AW: VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 18:31:26
Andy
Hallo..
Danke erstmal für die Antwort..
aber geht das nicht auch per VBA... also ohne dass ich eine Musterseite erstellen und kopieren muss?
AW: VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 18:37:49
Kurt
Hi,
klar geht das auch, aber mit Vorlage ist es viel einfacher und nicht so
fehleranfällig.
mfg Kurt
AW: VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 18:42:44
Andy
Hm ok.
ich werd mal schaun-.
aber mal der Interesse halber.. wie würde das denn gehen mit dem VBA Code einfügen?
AW: VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 19:19:41
Kurt
Hi,
schon mal in die Recherche gesehen?
mfg Kurt
AW: VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 19:32:21
Andy
Ja klar.. Hab ja sogar die CD mit dem Archiv.. Hab nur leider nichts wirklich gefunden was mir weitergeholfen hat :-(
Deshalb probier ich das jetzt mit der Frage hier..
Anzeige
AW: VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 21:23:42
Peter
Hallo Andy,
es geht auf diverse Arten, z. B. kannst du das Makro in eine Text-Datei schreiben, die du dann einliest und in das Tabellenblatt einfügst z. B. so:
With ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
.AddFromFile ImportDatei
End With
oder auch direkt aus einem Makro, wie im Beispiel:
Option Explicit

Sub WB_Code_via_VBA_Kapitel()
Const WS      As String = "Kapitel"
Dim VBC       As Object
Dim LineNr    As Integer
With ThisWorkbook.VBProject.VBComponents(Worksheets(WS).CodeName).CodeModule
LineNr = .CreateEventProc("Change", "Worksheet")
.InsertLines LineNr + 1, " "
.InsertLines LineNr + 2, "Dim r    As Long"
.InsertLines LineNr + 3, "Dim wsB  As Worksheet"
.InsertLines LineNr + 4, "Dim wsC  As Worksheet"
.InsertLines LineNr + 5, " "
.InsertLines LineNr + 6, "   If Target.Column = 7 And Target.Row > 1 Then"
.InsertLines LineNr + 7, "      If Target.Count = 1 Then"
.InsertLines LineNr + 8, "         Set wsB = Sheets(""Lotus Notes"")"
.InsertLines LineNr + 9, "         Set wsC = Sheets(""Binf neu (2)"")"
.InsertLines LineNr + 10, "         r = Target.Row - 1"
.InsertLines LineNr + 11, "         Application.EnableEvents = False"
.InsertLines LineNr + 12, "         On Error GoTo ERRH"
.InsertLines LineNr + 13, "         Range(Cells(r, 1), Cells(r, 6)).Copy Range(Cells(r + 1, 1), Cells(r + 1, 6))"
.InsertLines LineNr + 14, "         wsB.Range(wsB.Cells(r, 1), wsB.Cells(r, 6)).Copy wsB.Range(wsB.Cells(r + 1, 1), wsB.Cells(r + 1, 6))"
.InsertLines LineNr + 15, "         wsC.Range(wsC.Cells(r, 1), wsC.Cells(r, 9)).Copy wsC.Range(wsC.Cells(r + 1, 1), wsC.Cells(r + 1, 9))"
.InsertLines LineNr + 16, "         Range(Cells(r, 8), Cells(r, 9)).Copy Range(Cells(r + 1, 8), Cells(r + 1, 9))"
.InsertLines LineNr + 17, "         wsB.Range(wsB.Cells(r, 7), wsB.Cells(r, 12)).Copy wsB.Range(wsB.Cells(r + 1, 7), wsB.Cells(r + 1, 12))"
.InsertLines LineNr + 18, "         wsC.Range(wsC.Cells(r, 22), wsC.Cells(r, 26)).Copy wsC.Range(wsC.Cells(r + 1, 22), wsC.Cells(r + 1, 26))"
.InsertLines LineNr + 19, "         Set wsB = Nothing"
.InsertLines LineNr + 20, "         Set wsC = Nothing"
.InsertLines LineNr + 21, "      End If"
.InsertLines LineNr + 22, "   End If"
.InsertLines LineNr + 23, " "
.InsertLines LineNr + 24, "ERRH:"
.InsertLines LineNr + 25, " "
.InsertLines LineNr + 26, "   Application.EnableEvents = True"
End With
End 

Sub
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.

Anzeige
AW: VBA Code per Makro in Arbeitsblatt einfügen
21.08.2006 21:29:08
Kurt
Hi,
du hast vergessen zu erwähnen, dass ein Verweis auf die VB6EXT.OLB erforderlich ist.
mfg Kurt
AW: VBA Code per Makro in Arbeitsblatt einfügen
22.08.2006 08:43:29
Andy
Oh super! das klappt wie geschmiert :-)
So hab ich mir das vorgestellt :-)
Achso, einen Hinweis noch für diejenigen die das auch brauchen..
Falls ein Laufzeitfehler 1004 vorkommt, einfach bei Extra, Makro, dann Sicherheit und dann Vertrauenswürdige Quellen das Häkchen bei "Zugriff auf Visual Basic Projekte vertrauen" setzen..

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige