Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makroimport in Sheets

Forumthread: Makroimport in Sheets

Makroimport in Sheets
02.01.2008 13:33:30
Wolfram
Hallo zusammen,
ich weis im Moment nicht weiter.
Ich möchte ein Makro in ein Sheet einfügen. Das Makro habe ich vorher aus einem Modul in eine ext. txt-Datei exprotiert.
Aber mir fehlt der jetzt das "Achja", für die Hinterlegung des Code im Sheet.
Wer kann mir den "erlösenden Tipp" geben.
Dank vorab, und ein "Gutes Neues Jahr" für alle
Gruß
Wolfram

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makroimport in Sheets
02.01.2008 14:36:35
fcs
Hallo Wolfram,
der einfachste Weg:
1. Txt-Datei oder Exceldatei mit dem Makro öffnen
2. Makro-Code markieren und Kopieren
3. Tabelle unter der der Code eingefügt werden soll im VBA-Editor doppelklicken
4. Kopierten Text im Code-Fenster einfügen
Gruß
Franz

Anzeige
AW: Makroimport in Sheets
03.01.2008 07:20:00
Wolfram
Hallo Franz,
vielen Dank für die Info.
Leider hilft mir das so nicht weiter, da ich einen makrobasierten Weg suche (meine Schuld, ich habe mich mit klar genug ausgedrückt).
Gruß
Wolfram

AW: Makroimport in Sheets
03.01.2008 11:49:00
fcs
Hallo Wolfram,
hier die Makro-Lösung.
Das Makro kannst du in einer beliebigen Excel-Datei speichern, z.B. auch in der persönlichen Makroarbeitsmappe.
Der Code aus der Textdatei wird jeweils in der aktiven Arbeitsmappe im Modul der ausgewählten Tabelle eingefügt.
Bitte Hinweise in der Fehlerbehandlungsmeldung am Ende des Codes beachten!
Gruß
Franz

Sub Code_ausTextdatei_Einfuegen()
'Fügt VBA-Code aus Textdatei in angegebener Tabelle ein
Dim intWS1 As Byte 'Nummer der Zieltabelle
Dim wbZiel As Workbook, strDateiTxt, ff As Byte, LineText As String, FileText As String
On Error GoTo Beenden
Set wbZiel = ActiveWorkbook
'Nummern und Namen der Tabellen in der Zieldatei einlesen
For ff = 1 To wbZiel.Worksheets.Count
LineText = vbLf & ff & "   " & wbZiel.Worksheets(ff).Name
Next
'Zieltabelle wählen
intWS1 = Val(InputBox("Bitte Nr. der Zieltabelle in Datei """ & wbZiel.Name _
& """ eingeben" & vbLf & LineText, _
"Code aus TextDatei in Tabellenmodul importieren", 1))
If intWS1 = 0 Then GoTo Beenden
'Textdatei mit Code auswählen
strDateiTxt = Application.GetOpenFilename(Filefilter:="Textdateien (*.txt),*.txt", _
Title:="Bitte Textdatei mit Code auswählen")
If strDateiTxt = False Then GoTo Beenden
'Text aus Textdatei einlesen
ff = FreeFile()
Open strDateiTxt For Input As ff
Do Until EOF(ff)
Line Input #ff, LineText
FileText = FileText & LineText & vbLf
Loop
'Code unter Zieltabelle einfügen
With wbZiel.VBProject.VBComponents(Worksheets(intWS1).CodeName).CodeModule
.InsertLines 1, FileText
End With
Beenden:
If Err.Number = 1004 Then
MsgBox "Fehler 1004" & vbLf & Err.Description & vbLf _
& "Bitte vor dem Start des Makros im Excel Menü" & vbLf _
& "Extras-->Makro-->Sicherheit..." & vbLf _
& "Die Option ""Zugriff auf VBA-Projekt vertrauen"" aktivieren." & vbLf _
& "Nach Ausführung des Makros diese Option ggf. wieder deaktivieren!"
End If
Set wbZiel = Nothing
End Sub


Anzeige
AW: Makroimport in Sheets
04.01.2008 12:02:00
Wolfram
Hallo Franz,
nochmal vielen Dank für Deine ausführliche Hilfe.
Ich habe gestern in meinen "alten" Unterlagen noch was gefunden:

Private Sub CodeInSheetStellen()
Dim txt As String
With ThisWorkbook.VBProject
With .vbcomponents("Mod_10_CodeFürSheet").Codemodule
txt = .Lines(1, .CountOfLines)
End With
With .vbcomponents(Sheets(3).CodeName).Codemodule
.AddFromString txt
End With
End With
End Sub


Den Code habe ich in einem Modul ("Mod_10_CodeFürSheet") abgelegt (der Umweg über die Textdatei erschien mir erst einfacher). Das Sheet in dem das Makro dann werkeln soll, ist das 3. in der Mappe.
Ich weis zwar noch nicht, warum mein EXCEL nach dieser Befehlskette immer "stirbt", aber momentan löse ich das Problem damit, dass sie am Ende meines Programms steht. Dann klappt's.
Gruß
Wolfram

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige