Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1224to1228
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

Makro in Persnl.xls wird nicht ausgeführt

Makro in Persnl.xls wird nicht ausgeführt
Christian
Hallo,
ich habe folgendes Problem: Ich habe ein Makro geschrieben, in dem die Daten aus einer Excel-Tabelle in eine TXT.Datei geschrieben werden. In der Tabelle wo ich dieses Makro einstelle, funktioniert es einwandfrei. Wenn ich aber dieses Makro in die Persnl.xls stelle, führt er dieses Makro nicht aus. Ich habe schon überall im Internet nach meinem Problem gesucht, aber noch keine Antwort gefunden. Anbei das Makro:
Option Explicit
Sub OpenTextFileExportWriteAll()
Dim fs, A, Regex, TxT As String
Dim strTrennZeichen As String, strPfad As String
Dim wks As Worksheet
strPfad = "I:\pe\Abrechungsdaten_für_IT0015\DatenIT0015.txt"
Set wks = Worksheets("Tabelle1")
strTrennZeichen = ""
Set fs = CreateObject("Scripting.FileSystemObject")
Set A = fs.CreateTextFile(strPfad, True)
Tabelle1.UsedRange.Copy
If strTrennZeichen = vbTab Then
A.Write lesen
Else
Set Regex = CreateObject("Vbscript.Regexp")
With Regex
.Pattern = vbTab
.Global = True
A.Write .Replace(lesen, strTrennZeichen)
End With
End If
A.Close
Application.CutCopyMode = False
End Sub
Private Function lesen() As String
Dim clp As New DataObject
With clp
.GetFromClipboard
lesen = .GetText
End With
End Function

Wäre schön, wenn mir geholfen werden könnte.
Vielen Dank im Voraus.

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro in Persnl.xls wird nicht ausgeführt
16.08.2011 14:35:41
mumpel
Hallo!
Versuch es mal mit Set wks = ActiveWorkbook.Sheets("Tabelle1")color>.
Gruß, René
AW: Makro in Persnl.xls wird nicht ausgeführt
17.08.2011 09:42:24
Christian
Vielen Dank. Funktioniert aber leider nicht. GIbt es vielleicht noch eine andere Lösung?
Nachtrag
16.08.2011 14:38:54
mumpel
Du solltest immer auf das aktive Workbook referenzieren, wenn Du das Makro global nutzen möchtest.
Wie war, René!!! ;-)
16.08.2011 16:31:23
Luc:-?
Das wird hier gern vergessen und permanent ThisWorkbook verwendet. Bei Verallgemeinerung (bspw mit AddIn) wird dann versäumt, das zu ändern. Hier wurde das Blatt zwar mit dem Internnamen angesprochen, aber das läuft bei diesem Standardnamen fast auf dasselbe hinaus.
Gruß Luc :-?
Anzeige
Gott! WAHR natürlich! owT
16.08.2011 16:32:10
Luc:-?
:-?
Luc, du rufst nach mir? owT...
16.08.2011 16:43:19
Gott
Wenn du der DEUS ORTHOGRAPHICUS bist, ...
16.08.2011 17:10:54
Luc:-?
…kann das wohl sein! ;-))
Gruß Luc :-?
No, bin i net ... ;-)))
16.08.2011 17:29:25
Erich
Danke für das ", bin i " sonst wäre das "No net"
16.08.2011 19:58:03
NoNet
...und das käme mir sehr (zu) nahe ;-)
Schönen Abend noch....
Rückfragen
17.08.2011 18:50:43
Erich
Hi Christian,
vielleicht liegt das Problem ja überhaupt nicht (oder kaum) im Code.
Wie startest du das Makro?
Wie meinst du "In der Tabelle wo ich dieses Makro einstelle" (da, wo es noch funzt)?
Das Makro steht ja nun mal nicht in der Tabelle. Steht es im Code des Blattes "Tabelle1"?
Wo hst du das Makro in der Persnl.xls (heißt die wirklich genau so?) untergebracht?
Auch da im Code einer Tabelle? Oder in einem "normalen" Modul?
Was meinst du mit "führt er dieses Makro nicht aus"? Was passiert, wenn du es startest?
Hast du schon mal schrittweise Ausführung probiert?
Hast du schon mal ausprobiert, ob etwas angezeigt wied, wenn du ganz vorn im Makro,
etwa unter "Dim wks As Worksheet" eine Meldung ausgeben lässt:
Msgbox "Hallo hier bin ich"
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Rückfragen
18.08.2011 08:56:29
Christian
Hallo Erich,
Ich starte das Makro über Extra-Makro-Makros. Hier steht das Makro im Modul1 der aktuellen Tabelle.
Das Makro Persnl.xls steht im XLSTART von Excel. Hier steht das Makro ebenfalls im Modul1 der Persnl.xls
Das Makro erstellt die Textdatei aber ohne Inhalt, d.h. es liest die Daten aus der Excel-Tabelle nicht aus.
Ich habe das Makro zu einem in der Tabelle schrittweise ablaufen wo es funktioniert und einmal mit der Persnl.xls . Es wird jeder Schritt abgearbeitet, nur über die Persnl.xls wird eine leere Datei erzeugt.
Eine MsgBox habe ich auch eingebaut und kommt auch in der gewünschten Tabelle als Popup.
Was mache ich den falsch? Stehe vollkommen aufm Schlauch.
Vielen Dank für deine Hilfe.
Gruß Christian
Anzeige
Begriffe
18.08.2011 10:59:54
Erich
Hi Christian,
die Kommunikation fiele einfacher, würdest du die Begriffe etwas genauer verwenden.
"Hier steht das Makro im Modul1 der aktuellen Tabelle."
Was ist die "aktuelle Tabelle"? Eine Tabelle hat kein Modul1. Du meinst vermutlich die aktuelle Excelmappe oder Exceldatei.
"Das Makro Persnl.xls steht ..."
Persnl.xls ist kein Makro, sondern eine Excelmappe.
"Das Makro erstellt die Textdatei aber ohne Inhalt"
Bisher hattest du geschrieben, das Makro liefe überhaupt nicht. Es läuft ja, nur nicht so wie gewünscht.
Nun zum Code:
Mit "Dim wks As Worksheet" und "Set wks = Worksheets("Tabelle1")" hast du eine Worksheet-Variable wks
deklariert und belegt. Aber du verwendest diese Variable nirgends. Stattdessen verwendest du Tabelle1 in
"Tabelle1.UsedRange.Copy"
Schreib mal besser:
wks.UsedRange.Copy
Dann sollte es richtig laufen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Begriffe
18.08.2011 12:36:08
Christian
Hallo Erich,
vielen lieben Dank. Jetzt funktioniert es einwandfrei.
Nochmals vielen Dank für die schnelle Hilfe.
Gruß Christian

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige