Hallo Ros,
die Beschreibung deines Ziel ist sehr ungenau und ich glaube nicht, sie wirklich verstanden zu haben. Du willst dein Makro bis zu 4 Mal hintereinander durchführen, wenn die entsprechenden Buttons gesetzt sind. Dafür habe dir - quick and dirty -eine For-Next-Schleife eingefügt. Dein Makro habe ich natürlich nicht geprüft. es läuft ja.
Sub CommandButton1_Click()
Dim Datei As Variant
Dim Zeile As Double
Dim vari As String
Dim txt As String
Dim spalte As Double
Dim zeigen
Datei = Application.GetSaveAsFilename("transl_report.txt", "txt-Datei,*.txt", , "Speichern des Reports")
If Datei = False Then Exit Sub
for i=1 to 4
select case i
case 1
If Tabelle1.OptionButton1 = True Then spalte = 3 else goto weiter
case 2
If Tabelle1.OptionButton2 = True Then spalte = 4 else goto weiter
case 3
If Tabelle1.OptionButton3 = True Then spalte = 5 else goto weiter
case 4
If Tabelle1.OptionButton6 = True Then spalte = 6 else goto weiter
case else
end select
Open Datei For Output As #1
Print #1, "' *****************************************************************************" 'header
Print #1, "' "
Print #1, "' *****************************************************************************"
Print #1, "' Last Change: "; (DateAdd("m", 1, Date))
'Print #1, "' Last Change: "; Now()
Print #1, "' Created by macro version 1.0, DJ "
Print #1, "' *****************************************************************************"
For Zeile = 4 To 47
vari = Cells(Zeile, 2) & " = "
' If Tabelle1.OptionButton1 = True Then spalte = 3
' If Tabelle1.OptionButton2 = True Then spalte = 4
' If Tabelle1.OptionButton3 = True Then spalte = 5
' If Tabelle1.OptionButton6 = True Then spalte = 6
If Cells(Zeile, spalte) = "" Then
MsgBox "Die Spalte: " & spalte & " in Zeile: " & Zeile & " enthält keinen Wert" & vbCrLf _
& "Export nicht komplett!!!", vbCritical, "+++ Warning +++ Warning +++ Warning +++" 'gibt Fehlermeldung aus wenn zelle leer
End If
txt = " " & vari & """" & Cells(Zeile, spalte) & """" 'schreibanordnung
Print #1, txt 'schreibt txt
Next zeile
weiter:
next i
Print #1, "End Sub"
Close #1
zeigen = Shell("C:\Program Files (x86)\Notepad++" & "\notepad++.exe " & Datei, 1) 'öffnet geschriebenes file mit notepad
Exit Sub
End Sub
Gruß
Holger
|