13.09.2017, 15:50
Moin,
ich habe ein Problem mit meinem UsedRange auf einem Reiter. Dieser Reiter soll dann als TXT gespeichert werden. Es soll eigentlich nur Spalte A in der TXT auftauchen, jedoch taucht Spalte A:L auf. Wenn ich die überflüssigen Spalten lösche, ändert sich leider nichts an dem UsedRange.
Ich habe euch die Testdatei angehängt, damit ihr seht, was ich meine. In der zu erstellenden TXT sind dann 11x Tab hinter dem letzen Eintrag aufgeführt, die dort nicht hin sollen.
Vielleicht hat einer von euch dazu eine Idee. Ich komme hier einfach nicht weiter.
Hier schon mal meine Makros:
und zur Überprüfung der UsedRange:
Vielen Dank
Gecko
ich habe ein Problem mit meinem UsedRange auf einem Reiter. Dieser Reiter soll dann als TXT gespeichert werden. Es soll eigentlich nur Spalte A in der TXT auftauchen, jedoch taucht Spalte A:L auf. Wenn ich die überflüssigen Spalten lösche, ändert sich leider nichts an dem UsedRange.
Ich habe euch die Testdatei angehängt, damit ihr seht, was ich meine. In der zu erstellenden TXT sind dann 11x Tab hinter dem letzen Eintrag aufgeführt, die dort nicht hin sollen.
Vielleicht hat einer von euch dazu eine Idee. Ich komme hier einfach nicht weiter.
Hier schon mal meine Makros:
Code:
Sub Werte()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet
Dim i As Integer
Dim TxtName As String
Dim strEmpfaenger As String
Dim strAn As String
Dim strBetr As String
Dim strBody As String
Dim strAttPfad As String
Dim strTh As String
Dim strCommand As String
Dim strBCC As String
Dim p1 As String
Dim p2 As String
Dim p3 As String
Dim p4 As String
Dim Blatt As Worksheet, wksActive As Worksheet
Dim s As String
TxtName = "Werte.txt" ' so heißt die Datei später
' Werte werden aus den einzelnen Reitern in den Reiter Werte kopiert, vorher wird dieser _
geleert
' Erstellung der txt-Datei mit dem Inhalt des Reiters Werte
TxtName = "Werte.txt" 'Zahl ändern
Sheets("Werte").Visible = True
ChDir "C:\tmp\" ' tmp-Verzeichnis, da dieses immer vorhanden ist
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs TxtName, FileFormat:=xlText, CreateBackup:=False, local:=True
Application.DisplayAlerts = False
ActiveWorkbook.Close
Set Wb = Nothing: Set Ws = Nothing
' Werte für die E-Mail
strAn = "empfänger@testmail.de"
strBetr = "Werte"
strBCC = "steuerung@testmail.de"
strBody = "Sehr geehrte Damen und Herren" & vbNewLine & vbNewLine & _
"anbei die Werte ihres Bereiches." & vbNewLine & _
"Die enthaltenden Daten wurden automatisiert erhoben und hiermit an Sie weitergeleitet." & _
vbNewLine & _
"Bei Fragen stehen wir Ihnen gerne zur Verfügung." & vbNewLine & vbNewLine & _
"Vielen Dank für Ihre Mühen."
' Code für die Konfiguration
strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe " ' Thunderbird als E- _
Mail-Programm
strCommand = strCommand & " -compose " & "to=" & Chr(34) & strAn & Chr(34) ' Empfänger
strCommand = strCommand & ",subject=" & Chr(34) & strBetr & Chr(34) ' Betreff
strCommand = strCommand & ",body=" & Chr(34) & strBody & Chr(34) ' Text
strCommand = strCommand & ",bcc=" & Chr(34) & strBCC & Chr(34) ' BCC
strCommand = strCommand & ",attachment=" & "file:///C:\tmp\Werte.txt" 'Anhang
Shell strTh & strCommand, vbNormalFocus
'Blattschutz wieder einstellen
Set wksActive = ActiveSheet
End Sub
und zur Überprüfung der UsedRange:
Code:
Sub t()
MsgBox ActiveSheet.UsedRange.Address
End Sub
Vielen Dank
Gecko