coffeejunkee
Goto Top

Auslesen von Checkboxen und Wiedergabe in Textdatei

Habe da ein großes Problem. Ich möchte verschiedene Checkboxen prüfen und wenn welche angehakt sind, soll aus mehreren Tabellenblättern die zu den Checkboxen gehörigen Zeilen ausgegeben werden. Das funktioniert aber nur bedingt. Es wird immer nur eine Zeile in die Datei geschrieben bzw. wenn ich in der Listbox mehrere Sachen anhake nur das letzte. Halbwegs verständlich?
Hier mal eben mein bisheriger Code

ReDim arrItems(0 To ListBox1.ColumnCount - 1)


'For J = 0 To ListBox1.ListCount - 1
'For lListBox = 0 To ListBox1.ListCount - 1
'If ListBox1.Selected(J) Then

With ThisWorkbook.Worksheets(spname)

For lListBox = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(lListBox) Then

lZeile = ListBox1.List(lListBox, 1)

If UserForm1.Bewerten = True Then

'Kernbereich Nr und Text sowie GA1
TextKernMod = Worksheets(spname).Cells(lZeile, 3).Value & vbNewLine
TextKernMod = TextKernMod & Worksheets(spname).Cells(lZeile, 4).Value & vbNewLine

'Grundlegende Anforderungen 1
TextGrundAnf1 = Worksheets(spname).Cells(lZeile, 5).Value & vbNewLine
TextGrundAnf1 = TextGrundAnf1 & Worksheets(spname).Cells(lZeile, 6).Value & vbNewLine

'Grundlegende Anforderungen 2
TextGrundAnf2 = Worksheets(spname).Cells(lZeile, 11).Value & vbNewLine
TextGrundAnf2 = TextGrundAnf2 & "" & Worksheets(spname).Cells(lZeile, 12).Value & vbNewLine

'Grundlegende Anforderungen 3
TextGrundAnf3 = Worksheets(spname).Cells(lZeile, 17).Value & vbNewLine
TextGrundAnf3 = TextGrundAnf3 & "" & Worksheets(spname).Cells(lZeile, 18).Value & vbNewLine

End If
For a = 1 To 20
If UserForm1("Box" & a) = True Then
Select Case a
Case 1
Ausgabetext = Ausgabetext + TextKernMod
Case 2
Ausgabetext = Ausgabetext + TextGrundAnf1
Case 3
Ausgabetext = Ausgabetext + TextGrundAnf2
Case 4
Ausgabetext = Ausgabetext + TextGrundAnf3
Case 5
Ausgabetext = Ausgabetext + TextStaerken
Case 6
Ausgabetext = Ausgabetext + TextStaerken...
Case 7
Ausgabetext = Ausgabetext + TextBelege
Case 8
Ausgabetext = Ausgabetext + TextBewertungGA
Case 9
Ausgabetext = Ausgabetext + TextBewertung...
Case 10
Ausgabetext = Ausgabetext + TextS
Case 11
Ausgabetext = Ausgabetext + TextS...
Case 12
Ausgabetext = Ausgabetext + TextN
Case 13
Ausgabetext = Ausgabetext + TextN....
Case 14
Ausgabetext = Ausgabetext + TextVB
Case 15
Ausgabetext = Ausgabetext + TextV....
Case 16
Ausgabetext = Ausgabetext + LevelGA
Case 17
Ausgabetext = Ausgabetext + Level..
Case 18
Ausgabetext = Ausgabetext + Text..
Case 19
Ausgabetext = Ausgabetext + Text...
Case 20
Ausgabetext = Ausgabetext + Text...
End Select
End If
'a = a + 1
Next a


'MsgBox Ausgabetext
dateipfad = ThisWorkbook.Path
'dateipfad& "\" & spname & ".txt"

Dateinummer = FreeFile
If Dir(dateipfad & "\" & spname & ".txt") = "" Then
Open dateipfad & "\" & spname & ".txt" For Output As #Dateinummer
Else
Open dateipfad & "\" & spname & ".txt" For Append As #Dateinummer
End If
Write #Dateinummer, Ausgabetext ' Text ausgeben.
Close #Dateinummer ' Datei schließen.
Ausgabetext = ""
Next lListBox
'Ausgabetext = ""
End With

Irgendwas scheint noch nicht richtig zu funktionieren. Die ausgwählten Zeilen werden zwar in die Textdateien geschrieben, allerdings 20 mal. Also die Anzahl der Checkboxen insgesamt. Geplant ist ja aber...ich habe ein Workbook mit jetzt 8 Worksheets. Es soll nachgesehen werden in welcher Checkbox ein Haken ist, dann soll die hinterlegte Zelle ausgelesen werden (klappt ja soweit) und dann sollen die 8 Blätter durchlaufen werden, um den darin befindlichen Text in die Dateien zu speichern.
Kann es sein, dass ich da einfach zu viele Schleifen drin habe?? :/ Hat jemand eine Idee?

Content-Key: 237160

Url: https://administrator.de/contentid/237160

Printed on: April 19, 2024 at 05:04 o'clock