Microsoft Excel

Herbers Excel/VBA-Archiv

VBA-Projekt innerhalb Datei kopieren | Herbers Excel-Forum


Betrifft: VBA-Projekt innerhalb Datei kopieren von: Gregor
Geschrieben am: 03.12.2009 12:52:44

Hallo Excel-Profis

Folgendes Problem, dass ich trotz intensiver Recherche nicht gelöst bekomme:

Möchte das VBA-Projekt der Arbeitsmappe("2") mit dem VBA-Projekt der Arbeitsmappe("1") überschreiben.
(beide Blätter sind in einer Datei).

Kann mir jemand helfen?

Vielen Dank!

Gregor

  

Betrifft: VBA-Code aus "Tabelle1" in "Tabelle2" kopieren von: NoNet
Geschrieben am: 03.12.2009 13:09:19

Hallo Gregor,

zunächst einige Hinweis zur Benamung der Excel-Objekte :
Mit "Arbeitsmappe" (kurz "Mappe", engl. "WorkBook") bezeichnet man eine komplette Datei (also z.B. den gesamten Inhalt von "Mappe1.xls").
Innerhalb einer Arbeitsmappe können mehrere "Tabellenblätter" (engl. "WorkSheets"), Diagramme (engl. "Charts") oder andere Blätter existieren (allgemein werden alle Blätter als "Sheets" bezeichnet).
Deine "1" und "2" sind also wohl Tabellenblätter innerhalb der selben Arbeitsmappe, oder ?
Um keine Missverständnisse zu erzeugen, solltest Du also unbedingt die korrekten Bezeichnungen verwenden ;-)

Zu Deinem "Problem" :
- Mit Alt+F11 gelangst Du in den VBA-Editor
- Mit Strg+R kannst Du den Projekt-Explorer einblenden
- Im Projektexplorer findest Du die einzelnen Arbeitsmappen
- Innerhalb der einzelnen Arbeitsmappen die Codemodule der Tabellenblätter und andere Module
- Klicke doppelt auf das Codemodul des Tabellenblattes "1"
- Klicke in das rechte Codefenster und dort Strg+A um alles zu markieren und Strg+C um den Code zu kopieren
- Klicke doppelt auf das Codemodul des Tabellenblattes "2"
- Klicke in das rechte Codefenster und dort Strg+A um alles zu markieren und Strg+V um den Code einzufügen -
   der bestehende Code des Blattes "2" wird dabei gelöscht !
- Schließe das VBA-Fenster und teste den Code - falls OK : Speichern nicht vergessen ;-)

Das war's !

Gruß, NoNet


  

Betrifft: AW: VBA-Projekt innerhalb Datei kopieren von: Gregor
Geschrieben am: 03.12.2009 13:16:28

Erstmals vielen Dank für die Antwort.

Konkretisierung:
- VBA-Projekt kopieren vom Tabellenblatt("1") zum Tabellenblatt("2"), d.h. komplett überschreiben
- per VBA (manuell bringe ich das schon hin).

Kennt jemand den Code, um das zu erreichen?

Vielen Dank!

Gregor


  

Betrifft: Siehe http://vba1.de/vba.php#vbe _oT von: NoNet
Geschrieben am: 03.12.2009 13:36:40

http://vba1.de/vba.php#vbe


  

Betrifft: AW: VBA-Projekt innerhalb Datei kopieren von: Rudi Maintaire
Geschrieben am: 03.12.2009 13:32:30

Hallo,

Sub ttt()
  Dim sText As String, i As Integer
  With ActiveWorkbook.VBProject.vbComponents(Sheets(1).CodeName).CodeModule
    For i = 1 To .CountOfLines
      sText = sText & .Lines(i, 1) & vbLf
    Next
  End With
  With ActiveWorkbook.VBProject.vbComponents(Sheets(2).CodeName).CodeModule
    .DeleteLines 1, .CountOfLines
    .AddFromString sText
  End With
End Sub

Gruß
Rudi


  

Betrifft: AW: VBA-Projekt innerhalb Datei kopieren von: Gregor
Geschrieben am: 03.12.2009 13:34:22

Vielen Dank Rudi!!!!!!!!!!!!!!!


  

Betrifft: ohne Schleife von: Rudi Maintaire
Geschrieben am: 03.12.2009 13:41:47

Sub ttt()
  Dim sText As String
  With ActiveWorkbook.VBProject.vbComponents(Sheets(1).CodeName).CodeModule
      sText = .Lines(1, .CountOfLines)
  End With
  With ActiveWorkbook.VBProject.vbComponents(Sheets(2).CodeName).CodeModule
    .DeleteLines 1, .CountOfLines
    .AddFromString sText
  End With
End Sub



Beiträge aus den Excel-Beispielen zum Thema "VBA-Projekt innerhalb Datei kopieren"