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

Klassenmodul in Excelfile, Quelle ist TXT

Klassenmodul in Excelfile, Quelle ist TXT
08.03.2018 12:05:02
Peter
Hallo Excelfreaks, ich habe wöchentlich eine TXT.Datei, die ich mittels einem Makro aus der Personal.xlsb umforme und damit noch ein paar Berechnungen vornehme, was auch alles klappt. Jetzt habe ich aber ein Klassenmodul in "Diese Arbeitsmappe", so dass beim Speichern der Filter zurückgesetzt wird. Wie bekomme ich nun den Code für dieses Ereignis in die Datei (Diese Arbeitsmappe), da in der TXT-Datei ja nichts vorhanden ist.
Ich könnte zwar eine Excel-Vorlage mit dem Klassenmodul erstellen und dann die TXT-Datei 1:1 dort reinkopieren und dann das Makro ablaufen lassen, was mir aber umständlich erscheint. Hat dazu jemand einen besseren Ansatz / Idee ?
Besten Dank im Voraus für eure Hilfe.
Grüße Peter

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

Betreff
Datum
Anwender
Anzeige
AW: Klassenmodul in Excelfile, Quelle ist TXT
08.03.2018 12:14:18
Zwenn
Hallo Peter,
zwar habe ich Dein Problem nicht wirklich durchdrungen, aber wenn Du Makros brauchst, die in beliebigen Arbeitsmappen ausgeführt werden sollen, würde ich die in die PERSONL.XLSM bzw. PERSONL.XLSB schreiben. Diese Datei wird automatisch bei jedem Excel-Start mit geöffnet, so dass die enthaltenen Makros zur Verfügung stehen.
Der Standardpfad der Datei ist (unter Windows 7 nachgesehen):
C:\Users\BENUTZERNAME\AppData\Roaming\Microsoft\Excel\XLSTART\
Viele Grüße,
Zwenn
AW: Klassenmodul in Excelfile, Quelle ist TXT
08.03.2018 13:26:07
Peter
Hallo Zwenn, das Makro habe ich in der PERSONAl.XLSB und das funkt auch, aber den nachfolgenden Code brauche ich in der EXCEL in der Klasse "Diese Arbeitsmappe".
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim wks As Worksheet
For Each wks In Worksheets
If wks.FilterMode = True Then
wks.ShowAllData
End If
Next wks
End Sub
Ich habe aber als Quelle eine Text-Datei und damit steht mir der Code für das Speicherereignis nicht zur Verfügung(jede Woche eine neue TXT-Datei). Meine Frage nun: Wie bekomme ich diesen Code in die Text-Datei, die dann nach der Bearbeitung mit dem oben genannten Makro als XLSX gespeichert wird ?
Grüße Peter
Anzeige
AW: Klassenmodul in Excelfile, Quelle ist TXT
08.03.2018 13:39:43
Daniel
Hi
das müsste so laufen:
1. erstelle dir als Vorlage eine Exceldatei, die diesen Code im entsprechenden Modul enthält
2. in diese Exceldatei importierst du die Textdatei. Dafür gibt's ne Importfunktion (Daten - Externe Daten - aus Text), die man zum aktualisieren dann nur anklicken muss.
dann speicherst du diese Datei.
du musst die Datei aber als xlsm oder xlsb speichern, da xlsx-Dateien keine Makros enthalten, dh eventuell vorhandene Makros werden beim Speichern als xlsx nicht mitgespeichert und gehen verloren.
Das Format xlsx wurde geschaffen, um ein Dateiformat zu haben, mit dem auch Parteien, die sich nicht kennen und vertrauen, gefahrlos Exceldatei austauschen können (z.B. Download aus dem Internet) (Makroviren!).
Gruß Daniel
Anzeige
AW: Klassenmodul in Excelfile, Quelle ist TXT
08.03.2018 14:00:16
Peter
Hallo Daniel, besten Dank für Deine Erläuterung. Also doch über eine Excel-Vorlage. Ok, guter Hinweis, mache ich so mit dem Import. Ich hätte den komplizierteren Weg gewählt und die TXT importiert und dann erst in die Vorlage kopiert (doppelt gemoppelt).
Die fertige Datei speichere ich natürlich unter .xlsm (und nicht .xlsx), da anschließend ein weiteres Makro gestartet wird.
Danke nochmals
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige