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

VBA - Modul mit Code in eine neue .......einfügen

VBA - Modul mit Code in eine neue .......einfügen
24.02.2005 20:04:05
Bastelpeter
Hallo zusammen,
ich möchte gerne aus einer Makrolosen Arbeitmappe (für externe) zwei Tabellenblätter in eine neue Arbeitsmappe kopieren (mit Formaten ohne Formeln)und zusätzlich ein VBA-Modul in diese Arbeitsmappe einfügen.
Blatt verschieben kopieren etc. werde ich wohl hinbekommen, nur wie stelle ich das mit dem VBA-Modul an?
Wie immer Dankbar für jede hilfe,
Grüße aus Mainz / Sonnenpeter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Modul mit Code in eine neue .......einfügen
Bert
Am einfachsten, wenn du die Codes in einem Tabellenmodul unterbringst. Die Sub dürfen
dort aber nicht Private sein.
Bert
AW: VBA - Modul mit Code in eine neue .......einfügen
Bastelpeter
Hallo Bert,
sicher doch, dass ist ein Weg hilft mir aber nicht weiter weil die Tabellenmodule Makrolos sind.
Gruß aus Mainz / Sonnenpeter
AW: VBA - Modul mit Code in eine neue .......einfügen
Bert
Na ja, dann kopierst du die Makros halt aus deinem Modul in ein Tabellenmodul, das schaffst du doch, oder?
Bert
Nein :-(((
Bastelpeter
Na ja, vieleicht nach Stunden etc.......
SP
AW: Nein :-(((
24.02.2005 20:21:13
Nepumuk
Hallo Peter,
was zum basteln:


Public Sub Import_Export()
    Dim vbc As Object, iCounter As Integer, cType As String, StDateiname As String
    Workbooks.Open "D:\Eigene Dateien\Eigene Tabellen\Exportmappe.xls"
    For Each vbc In Workbooks("Exportmappe.xls").VBProject.VBComponents
        With vbc.CodeModule
            For iCounter = 1 To .CountOfLines
                If .ProcOfLine(iCounter, 0) > "" Or InStr(1, .Lines(iCounter, 1), "Dim") <> 0 _
                Or InStr(1, .Lines(iCounter, 1), "Public") <> 0 Or InStr(1, .Lines(iCounter, 1), "Type") <> 0 _
                Or InStr(1, .Lines(iCounter, 1), "Static") <> 0 Or InStr(1, .Lines(iCounter, 1), "Declare") <> 0 Then
                    Select Case vbc.Type
                        Case 1: cType = ".bas"
                        Case 2, 100: cType = ".cls"
                        Case 3: cType = ".frm"
                    End Select
                    Workbooks("Exportmappe.xls").VBProject.VBComponents(vbc.Name).Export "C:\Temp\" & vbc.Name & cType
                    Exit For
                End If
            Next iCounter
        End With
    Next vbc
    Workbooks.Open "D:\Eigene Dateien\Eigene Tabellen\Importmappe.xls"
    With Workbooks("Importmappe.xls").VBProject
        For Each vbc In .VBComponents
            Select Case vbc.Type
                Case 1, 2, 3: .VBComponents.Remove .VBComponents(vbc.Name)
                Case 100
                With vbc.CodeModule
                    .DeleteLines 1, .CountOfLines
                End With
            End Select
        Next
        StDateiname = Dir("C:\temp\" & "*.*")
        Do While StDateiname <> ""
            If UCase(Right(StDateiname, 4)) = ".BAS" Or UCase(Right(StDateiname, 4)) = ".FRM" Or UCase(Right(StDateiname, 4)) = ".CLS" Then
                .VBComponents.Import "C:\Temp\" & StDateiname
            End If
            StDateiname = Dir
        Loop
        For Each vbc In .VBComponents
            If vbc.Type = 2 Then
                If Left(vbc.Name, 5) = "Diese" Or Left(vbc.Name, 7) = "Tabelle" Then
                    .VBComponents(Left(vbc.Name, Len(vbc.Name) - 1)).CodeModule.InsertLines 1, vbc.CodeModule.Lines(1, vbc.CodeModule.CountOfLines)
                    .VBComponents.Remove .VBComponents(vbc.Name)
               End If
            End If
        Next vbc
    End With
End Sub


Gruß
Nepumuk
Anzeige
Dachte mir schon.........
24.02.2005 20:34:47
Bastelpeter
Danke Nepumuk,
dachte mir schon das, dass nicht so einfach ist, aber jetzt habe ich ja was zum basteln.
Danke!
Ist zwar kurz und prägnant,
aber den wenigsten bekannt.
© Erhard Blanck
Ehm, mir schon DANKE!
Grüße aus Mainz / Sonnenpeter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige