title image


Smiley Re: Eintraege aus eine Listbox entfernen
Hallo,



ich habe dein Programm in etwa nachgebaut, um es einigermassen unter realen Bedingungen testen zu können. Die Suchfunktion ist ok. ich konnte bisher nicht heraufinden, weshalb der Suchbegriff in der mehrspaltigen Listbox nicht gefunden wird. Viellecht postest Du deshalb auch im Wordforum.



      Hubert



Private Sub SchreibeTestdat()

Dim intFile As Integer, Dateiname As String

Dateiname = ThisDocument.Path & "\MeineDaten.Dat"

'

Close

intFile = FreeFile

Open Dateiname For Output As #intFile

'

For i = 1 To 26

Print #intFile, "TEST " & Chr(64 + i)

Next i

'

Close

End Sub

'

Code in der Userform

Private Sub UserForm_Initialize()

Dim i As Integer

With ListBox1

.ColumnCount = 4

'.ColumnWidths = "50pt;50pt;50pt;50pt"

For i = 1 To 5

.AddItem i & ".Eintrag"

.Column(1, i - 1) = "TEXT " & Chr(64 + i)

.Column(2, i - 1) = "TEXT " & i

.Column(3, i - 1) = "TEXT " & i + 5

Next i

.ListIndex = 0

End With

End Sub

'

Private Sub CommandButton1_Click()

With Me.ListBox1

For i = 0 To .ListCount - 1

If .Selected(i) Then

x = .ListIndex

'gewählt...

.ListIndex = i

MsgBox .List(x, 1)

Exit For

End If

Next i

End With

End Sub

'

Private Sub CommandButton2_Click()

' Dim i

' '

' If SucheInDatei(ThisDocument.Path _

' & "\MeineDaten.Dat", "TEST A") = True Then

' For i = 0 To Me.ListBox1.ListCount - 1

' Me.ListBox1.ListIndex = i

' If Me.ListBox1.Selected(i) Then

' 'gewählt...

' x = Me.ListBox1.ListIndex

' If Me.ListBox1.List(x, 1) = "TEST A" Then

'

' End If

' '

' ' hier steckt warscheinlich der Fehler,

' ' "TEST A" wird nicht erkannt

' If Me.ListBox1.List(x, 1) = "TEST A" Then

' MsgBox "x = " & x

' 'Me.ListBox1.Column(x, 1) = String(6, 45)

' 'ganze Zeile löschen

' Me.ListBox1.List.RemoveItem (Me.ListBox1.ListIndex)

' Exit For

' End If

' Next i

' End If

' MsgBox Me.ListBox1.List(0, 1)

If SucheInDatei(ThisDocument.Path & "\MeineDaten.Dat", "Test A") Then

Dim i

'

For i = 0 To ListBox1.ListCount - 1

ListBox1.ListIndex = i

For z = 1 To Me.ListBox1.ColumnCount

If Me.ListBox1.List(i, z) = "Test A" Then

ListBox1.RemoveItem (ListBox1.ListIndex)

End If

Next z

'End If

'Exit For

GoTo Ex

Next i

End If

'

If strInhalt ListBox1.Text Then

MsgBox "Nicht gefunden!"

End If

Ex:

End Sub

'

Private Function SucheInDatei(ByRef Dateiname As String, _

ByRef Suchbegriff As String) As Boolean

Dim intFile As Integer

Dim strInhalt As String

'

Close

intFile = FreeFile

Open Dateiname For Input As #intFile

strInhalt = Input$(LOF(intFile), #intFile)

SucheInDatei = (InStr(strInhalt, Suchbegriff) 0)

'

Close #intFile

MsgBox "Suchbegriff " & Suchbegriff

End Function







geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: