Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhalt der List und leere Zellen ignorieren
17.08.2016 14:05:01
Ben
hallo gibt es einen Befehl in meinem Code der leere Zellen in der liste ignoriert?
So das ich eine untereinander gereite liste habe?
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Integer
Dim strAuswahl As String
For i = 0 To ListBox1.ListIndex
If ListBox1.Selected(i) Then
If strAuswahl = "" Then
strAuswahl = ListBox1.List(i, 0) & ";" & ListBox1.List(i, 1)
Else
strAuswahl = strAuswahl & ";" & ListBox1.List(i, 0)
strAuswahl = strAuswahl & ";" & ListBox1.List(i, 1)
End If
End If
Next i
ActiveCell = strAuswahl
End Sub

Private Sub TextBox1_Change()
End Sub

Private Sub UserForm_Initialize()
Me.Calendar1 = Date
With ListBox1
.ColumnCount = 4
.ColumnWidths = "3cm;7cm;3cm;3cm"
.ColumnHeads = True
ListBox1.RowSource = "data!B2:E4609"
End With
End Sub

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 14:19:38
Daniel
Hi
dh deine Listbox enthält leere zeilen, die zwar ausgewählt sein können, aber dann nicht angezeigt werden sollen?
wenn es reicht, eine Spalte der Listbox zu prüfen, dann:
For i = 0 To ListBox1.ListIndex
If ListBox1.Selected(i) Then
If Listbox1.List(i, 0)  "" Then
Wenn mehrere Spalten geprüft werden müssen:

For i = 0 To ListBox1.ListIndex
If ListBox1.Selected(i) Then
If Listbox1.List(i, 0) & Listbox1.List(i, 1) & Listbox1.List(i, 2)  "" Then
Gruß Daniel
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 14:57:14
Ben
Hi. Dein code klappt nicht. Ändert sich nichts in der Liste. So das in der Liste die leeren spalten ausgeblendet sind
Anzeige
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 15:12:28
Daniel
Hi
sorry dann habe ich dich falsch verstanden.
ggf kannst du nochmal genauer erklären, was du haben willst?
Gruß Daniel
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 15:31:23
Ben
im bild siehst du wie es aussieht. die aufträge sind nicht alle untereinander, was klar ist das er sich die daten so aus der mappe so nimmt. ich will aber das die leeren zeilen in der listbox ausgeblendet werden. so das man eine komplett untereinander stehende liste hat.
Userbild
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 16:15:46
Daniel
Hi
ja, wenn du das willst, dann musst du schon im Initialize-Event ansetzen.
dann darfst du die Listbox nicht über Listbox1.RowSource = "Zellbereich" befüllen.
dann muss die RowSource leer bleiben und du musst die befüllung nach diesem Schema machen:

dim Z as Long
with listbox1
for Z = 2 to 4609
if Sheets("Data").Cells(z, 2)  "" then
.AddItem
.List(.Listcount - 1, 0) = Sheets("Data").Cells(z, 2).value
.List(.Listcount - 1, 1) = Sheets("Data").Cells(z, 3).value
.List(.Listcount - 1, 2) = Sheets("Data").Cells(z, 4).value
.List(.Listcount - 1, 3) = Sheets("Data").Cells(z, 5).value
end if
Next
End with
funktioniert so aber nur bis maximal 10 Spalten.
wird die Listbox breiter, muss man sich was anderes einfallen lassen.
Gruß Daniel
Anzeige
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 16:23:35
Ben
das funzt schon super.KLasse!!!!
jetzt brauch ich nur noch die anderen spalten,
Text:
Start-Datum:
Status:
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 16:25:36
Daniel
hi
ja wie genau jetzt?
hast du auch schon versucht auf dieser Basis selber was zu programmieren?
Gruß Daniel
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 16:29:11
Ben
so in der art noch nicht, bin noch anfänger. guck siehe foto.
aufträge sind alle drin das ist super, jetzt muss der text daneben usw...wie im ersten foto.
Userbild
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 16:36:45
Daniel
hi
die Texte der weiteren Spalten werden in meinen Code mit hinzugefügt.
hast du der Listbox auch schon mitgeteilt, dass sie 4 Spalten hat (Eigenschaft ColumnCount = 4)
hast du die ColumnWidth entsprechend gesetzt?
Gruß Daniel
Anzeige
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 16:40:34
Ben
Ich danke Dir, hab es hinbekommen.
:) Danke!!!!
Private Sub UserForm_Initialize()
Dim Z As Long
With ListBox1
.ColumnCount = 4
.ColumnWidths = "3cm;7cm;3cm;3cm"
.ColumnHeads = True
For Z = 2 To 4609
If Sheets("Data").Cells(Z, 2)  "" Then
.AddItem
.List(.ListCount - 1, 0) = Sheets("Data").Cells(Z, 2).Value
.List(.ListCount - 1, 1) = Sheets("Data").Cells(Z, 3).Value
.List(.ListCount - 1, 2) = Sheets("Data").Cells(Z, 4).Value
.List(.ListCount - 1, 3) = Sheets("Data").Cells(Z, 5).Value
End If
Next
End With
End Sub

AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 16:53:14
Ben
jetzt funktioniert meine Auftrag suche nicht mehr, der meckert immer bei Listbox.ListIndex = suchbegriff.row - 1 (Laugzeitfehler 380) eigentschaft listindex konnte nicht gesetzt werden.
HAst du eine ahnung warum? hat ja vorher funktioniert.
Private Sub CommandButton50_Click()
Dim Suchbegriff As Range
With Range("B1:B" & Range("B65536").End(xlUp).Row)
Set Suchbegriff = .Find(What:=TextBox1, LookIn:=xlValues)
If Not Suchbegriff Is Nothing Then
ListBox1.ListIndex = Suchbegriff.Row - 1
End If
End With
End Sub

Anzeige
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 17:11:01
Daniel
Hi
bitte das Gehirn einschalten.
es ist doch logisch, dass wenn du die Leerzeilen nicht mit in die Listbox übernimmst, die Zeilennnummern aus der Excelliste mit den Indexnummern der Listbox nicht mehr übereinstimmen und das so nicht mehr funktioniert.
hier kannst du einfach mit einer Schleife über die Listbox laufen und die Listboxeinträge mit dem Textboxwert vergleichen.
for i = 0 to listbox1.Listcount - 1
if Textbox1.Text = Listbox1.List(i, 0) then
Listbox1.ListIndex = i
Exit for
end if
Next
Gruß Daniel
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 17:25:32
Ben
Sorry, hab ja gesagt bin nich nicht ganz fit drin.
Aber wo schreibe ich jetzt deinen code rein.
weil das so nicht funzt:
Private Sub CommandButton50_Click()
For i = 0 To ListBox1.ListCount - 1
If TextBox1.Text = ListBox1.List(i, 0) Then
ListBox1.ListIndex = i
Exit For
End If
Next
End Sub

Anzeige
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 17:38:41
Daniel
Hi
was heißt "funzt nicht"?
die passende Antwort auf die Porblembeschreibung "funzt nicht" ist "machs anders", das beinhaltet das gleiche Informationsniveau.
WAS funzt nicht?
gibt's ne Fehlermeldung? Wenn ja, Welche und in welcher Zeile tritt sie auf?
Wenn nein, was macht das Makro tatsächlich und was sollte es deiner Meinung nach tun?
Arbeitst du mit Option Explicit?
dann musst du die Variable i natürlich noch deklarieren.
Soll für einen Treffer eine genaue Übereinstimmung vorliegen oder reicht eine teilweise überbeinstimmung (Vergleichsmethode "enthält")
da in deinem Bespielcode hierzu die entsprechenden Angaben in der .FIND-Funtkion nicht vorhanden waren, habe ich mich für den Fall "genaue Übereinstimmung" entschieden.
Das war doch richtig oder?
Gruß Daniel
Anzeige
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 18:25:11
Ben
es kommt der fehler beim komplilieren : projekt oder bibliothek nicht gefunden.
ja genau hast du recht, genaue übereinstimmung.
Wie gesagt was du da schreibst ist etwas noch zu hoch für mich, weil ich mich noch nicht so gut mit auskenne. quasi learning by doing.
wie deklariere ich den das i , was du oben meinst damit der code funktioniert.
AW: Inhalt der List und leere Zellen ignorieren
17.08.2016 19:25:17
Ben
hab es hinbekommen :)
hirn einschalten war ein guter tipp ;)
danke für deine hilfe bisher

365 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige