Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Listbox - Letzter Eintrag nicht sichtbar
#1
Obwohl ich die Listbox Eigenschaft IntegralHeight auf TRUE stehen habe,
verschwindet der letzte Eintrag der Listbox fast komplett aus dem Sichtbereich.

Stelle ich die Eigenschaft auf FALSE habe ich einen recht "dynamischen Anblick" der letzten Zeile.
Mal voll da, mal halb da.....

Ich habe schon mit den einzelnen Fonts rumgespielt. ARIAL, CALIBRI Mal Höhe 8, mal 9, mal 10....
Gibt es da noch einen versteckten Schalter / Befehl, der dieses Verhalten korrigiert?
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
to top
#2
Hallo Achim,

handelt es sich um ein ähnliches Problem wie hier? Und die Frage nach dem hochladen brauche ich wohl nicht stellen, da die Datei sehr groß ist?
Gruß Stefan
Win 7 / Office 2007
to top
#3
Nein Stefan, hier handelt es sich um ein ganz anderes Problem.

Es geht um die Darstellung der Listbox,
dessen letzter Eintrag je nach Font und Größe und trotz IntegralHeight Eigenschaft auf TRUE
nicht vollständig sichtbar ist; manchmal sogar nicht mal mehr lesbar.

Ich dachte halt, dass es da in den Tiefen des VBA noch den einen, oder anderen Befehl gibt das zu verhindern.
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
to top
#4
welche( r )
- Excelversion
- Art von ListBox
- Ort der ListBox
- Methode der Befüllung

????
to top
#5
Excel 2007
Art der Listbox? Wie ist das gemeint? Gibt es mehrere Arten?
Ort der Listbox?...Auch das verstehe ich nicht ganz. Sie ist in einer UF in einem Frame drin.
Methode der Befüllung....
Zuerst werden über den Spezialfilter in das Blatt AUSWAHL die gefilterten Zeilen eingetragen.
Danach kommt der Super-Code von dir, der bestimmte Zeilen löscht.
Und dann werden die übriggebliebene Zeilen in die Listbox gegeben.
Und das ganze sieht dann so aus:

Code:
Rem Filter starten
Nur_Typ:
  Worksheets("Bohren").Range("A1:DS10000").AdvancedFilter Action:=xlFilterCopy, _
  CriteriaRange:=Worksheets("Auswahl").Range("A1:DS2"), CopytoRange:=Worksheets("Auswahl").Range("A3"), Unique:=False

If Worksheets("Listen").Range("A18") = "N" Then 'Bei "N" werden alle OHNE Artikelnummer gelöscht
   With Worksheets("Auswahl").Columns(34)
     .Replace What:="x", Replacement:="#N/A", LookAt:=xlWhole, MatchCase:=False
     .SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
   End With
End If
      
Rem Anzahl Lösungen ermitteln
For n = 4 To Worksheets("Auswahl").Cells(Rows.Count, 23).End(xlUp).Row: Next n
n = Worksheets("Auswahl").Cells(Rows.Count, 23).End(xlUp).Row - 3  '-3, weil der Beginn erst ab Zeile 4 ist
Frame1.Caption = n & " " & Labels(21) 'Rem Anzahl Lösungen eintragen
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
to top
#6
Hallo Achim,

Zitat:Ort der Listbox?...Auch das verstehe ich nicht ganz. Sie ist in einer UF in einem Frame drin

Das von Dir beschriebene Verhalten tritt dann auf, wenn z.B. die Listbox vom Frame abgeschnitten ist,
heißt sie liegt nicht ganz im Frame, oder ein anderes Steuerelement Schneidet die Listbox,
oder sie geht über die Userform drüber.

Eine weiter Ursache, Du änderst die Listbox Größe zur Laufzeit bzw. beim Activate/Initialize
Gruß Atilla

Excel 2007
to top
#7
Hallo Achim,

Setz im Eigenschaftsfenster die IntegralHeight auf False und im Code dann nach Anpassung der Größe wieder auf True.

z.B:
Code:
With Me.ListBox1
   .List = Range("A2:A20").Value
   .ListBox1.Height = 89
   .ListBox1.IntegralHeight = True
End With


Hab da noch eine Frage: Du schreibst, dass Du mit dem Spezialfilter erst Fiterst und dann bestimmte Zeilen, die mit "x" versehen sind löschst.
Warum Filterst Du die nicht gleich mit raus? Das kann doch der Spezialfilter in einem Abwasch erledigen.
Gruß Atilla

Excel 2007
to top
#8
Hallo Achim,

Zitat:Art der Listbox? Wie ist das gemeint? Gibt es mehrere Arten?
Es gibt auch die ListBox aus den Formularsteuerelementen, welche nur in einem Tabellenblatt möglich ist
und die ListBox aus den ActiveX-Steuerelementen, welche in einem Tabellenblatt oder einer Userform
verwendet werden kann.

Zitat:Ort der Listbox?...Auch das verstehe ich nicht ganz. Sie ist in einer UF in einem Frame drin.
Möglich sind bei AxtivX-Elementen eben Tabellenblätter und UserForms.

Zum geposteten Code, welcher das Befüllen der ListBox zwar nicht enthält, hätte ich aber 2 Sachen:

1. die Zeile
Code:
For n = 4 To Worksheets("Auswahl").Cells(Rows.Count, 23).End(xlUp).Row: Next n
könnte gelöscht werden

2. das Löschen der "x"-Zeilen wäre überflüssig, da das mit dem Spezialfilter schon erledigt werden könnte.

Gruß Uwe
to top
#9
Hallo Atilla,

ich hatte die IntegralHeight Eigenschaft fest eingestellt auf TRUE; allerdings nicht im VBA Code, sondern im Eigenschaftenfenster.
Jetzt habe ich es mal so gemacht wie du es vorschlägst; erst die Abmessungen eingeben bei fest eingestellter Eigenschaft FALSE im Fenster der Eigenschaften und dann erst im VBA Code auf TRUE gesetzt.
Das hat funktioniert. Das war eine gute Idee.

Der Spezialfilter ist ne Wissenschaft für sich. Das hat ewig gedauert, bis ich das für meine Zwecke hinbekommen hatte.
Dieses Zeilen löschen läuft über OptionButton, also eine Einstellung, die der User machen kann.
Ich weiß gar nicht wie ich das in den Advance Filter einbauen sollte.
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
to top
#10
Ach ja, hatte ich vergessen. Das Einlesen in die Listbox.
Code:
Rem Lösungen in die Listbox eintragen
With Worksheets("Auswahl")
    ListBox1.RowSource = "Auswahl!" & .Range(.Cells(4, 1), .Cells(n + 3, 125)).Address
End With
Gruß Achim
Jeder Mensch macht Fehler. Die Kunst liegt darin, sie zu machen, wenn keiner zuschaut.
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Listbox scrollen per VBA-Code Usedom 2 37 30.11.2016, 14:08
Letzter Beitrag: Usedom
  Userform Listbox Zelle AlpenZwerg 2 50 26.11.2016, 15:55
Letzter Beitrag: AlpenZwerg
  ListBox Kopfzeile erstellen michel34497 2 68 19.11.2016, 07:42
Letzter Beitrag: Crazy Tom
  Zelle einfärben+Text nicht sichtbar LindaB 3 82 10.11.2016, 13:12
Letzter Beitrag: Jockel
  Farbige Werte in ListBox VBA michel34497 7 117 10.11.2016, 11:31
Letzter Beitrag: michel34497
  Inhalt Multiselect-ListBox in Variable auslesen Rabe 3 75 28.10.2016, 12:04
Letzter Beitrag: Rabe
  letzter Eintrag oski 2 70 23.10.2016, 13:40
Letzter Beitrag: Wilfried Höttl
  Selektierte Werte in ListBox nacheinander in TextBox michel34497 3 136 08.10.2016, 13:00
Letzter Beitrag: michel34497
  Quartalerster und letzter in einer Zelle Wilfried Höttl 5 163 25.09.2016, 10:49
Letzter Beitrag: Wilfried Höttl
Brick Zellen nach Eintrag bereinigen BIGE.l.f.e 20 673 12.09.2016, 08:06
Letzter Beitrag: BIGE.l.f.e

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste