Office: (Office 2019) Listbox wird nicht breiter, Schriftgrösse ändert sich

Helfe beim Thema Listbox wird nicht breiter, Schriftgrösse ändert sich in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Die Listbox reagiert, da der Rechenaufwand intern offensichtlich recht hoch ist mit gelegentlichem Ignorieren. Dies kann man in deinem Beispiel mit... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von wilhelm1, 12. April 2025.

  1. OilMax Erfahrener User

    Listbox wird nicht breiter, Schriftgrösse ändert sich


    Die Listbox reagiert, da der Rechenaufwand intern offensichtlich recht hoch ist mit gelegentlichem Ignorieren. Dies kann man in deinem Beispiel mit DoEvents regeln. Da wird die Prozedur angehalten bis die interne Berechnung durch ist.
    Änderung im Modul des Userforms:
    Code:
    Else
            'DoEvents   ' falls erforderlich
            Me.Frame_Daten.Width = Me.InsideWidth
            DoEvents
            Me.lst_Daten.Width = Me.Frame_Daten.Width - Me.lst_Daten.Left - Me.lst_Daten.Left
            lngWidthCol_2_3_4_5 = Me.lst_Daten.Width - 70
            arrSp(2) = lngWidthCol_2_3_4_5 * 0.6
            arrSp(3) = lngWidthCol_2_3_4_5 * 0.2
            arrSp(4) = lngWidthCol_2_3_4_5 * 0.2
        End If
    
    ins Modul Monitor:
    Code:
    Option Explicit
    
    Public Declare PtrSafe Function GetDeviceCaps Lib "gdi32" (ByVal hdc As LongPtr, ByVal nIndex As Long) As Long
    Public Declare PtrSafe Function GetDC Lib "user32" (ByVal hwnd As LongPtr) As LongPtr
    Public Declare PtrSafe Function ReleaseDC Lib "user32" (ByVal hwnd As LongPtr, ByVal hcd As LongPtr) As Long
    Public lHsize As Long, lVsize As Long
    Declare PtrSafe Function GetSystemMetrics32 Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
    
    Public Const SM_CXSCREEN = 0
    Public Const SM_CYSCREEN = 1
    Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
    
    Const HORZRES = 8
    Const VERTRES = 10
    
    Public Function GetScreenResolution()
        ' lHsize = Anzahl der horizontalen Bildschirmzeilen
        ' lVsize = Anzahl der vertikalen Bildschirmzeilen
        Dim lRval As Long, lDc As Long
        
        lDc = GetDC(0&)
        lHsize = GetDeviceCaps(lDc, HORZRES)
        lVsize = GetDeviceCaps(lDc, VERTRES)
        lRval = ReleaseDC(0, lDc)
        
    End Function
    
    Public Function GetScreenResolution_Horizontal()
        ' lHsize = Anzahl der horizontalen Bildschirmzeilen
        ' lVsize = Anzahl der vertikalen Bildschirmzeilen
        Dim lRval As Long, lDc As LongPtr
        
        lDc = GetDC(0&)
        GetScreenResolution_Horizontal = GetDeviceCaps(lDc, HORZRES)
        lHsize = GetDeviceCaps(lDc, HORZRES)
        lRval = ReleaseDC(0, lDc)
        
    End Function
    
    Public Function GetScreenResolution_Vertical()
        ' lHsize = Anzahl der horizontalen Bildschirmzeilen
        ' lVsize = Anzahl der vertikalen Bildschirmzeilen
        Dim lRval As Long, lDc As Long
        
        lDc = GetDC(0&)
        GetScreenResolution_Vertical = GetDeviceCaps(lDc, VERTRES)
        lVsize = GetDeviceCaps(lDc, VERTRES)
        lRval = ReleaseDC(0, lDc)
        
    End Function
    
    Die #If .. #Else ... #End If Anpassung um auf <VBA7 die Lauffähigkeit sicher zu stellen, überlasse ich zwecks Lernens dir.
    Eine entsprechende Vorlage hast du ja bereits von mir bekommen.

    Gruß Uwe
     
  2. wilhelm1 Neuer User
    Hallo Uwe,
    ich hab's nicht überlesen. Einen API Viewer habe ich nicht gefunden, bzw. habe die gefunden Programme nicht verstanden. Also habe ich die Funktionen mit Google gesucht und dann versucht die Microsoft Doku zu verstehen.
    Ist egal, ich geb's auf. Muss ja nicht alles perfekt funktionieren.
     
    wilhelm1, 14. April 2025
    #17
  3. OilMax Erfahrener User
    Hallo Wilhelm1,

    einen sehr gut gemachten API-Viewer findest du hier (VBA7 und älter):
    API-Viewer
    Es gibt auch eine aktualisierte Version (VBA7 ohne ältere):
    API-Viewer - Update -

    Gruß Uwe
     
  4. wilhelm1 Neuer User

    Listbox wird nicht breiter, Schriftgrösse ändert sich

    Hallo Uwe,
    das war einer der Treffer bei meiner Suche. Ich wollte aber nicht einen Benutzer anlegen nur um die Datei laden zu können, ich dachte ich finde noch einen anderen Viewer.
    Grundsätzlich hast Du natürlich Recht, korrekte Deklarationen sind wichtig.
    Ich konnte das Problem aber umgehen indem ich das ganze Modul lösche und den einzigen Funktionsaufruf durch ein Zahl ersetze. Mit der Variante konnte ich das Problem weiter eingrenzen. Der Effekt tritt nur auf wenn die Breite UND die Höhe der Listbox geändert werden.
     
    wilhelm1, 15. April 2025
    #19
  5. OilMax Erfahrener User
    anbei die Datei. Bei mir gibt es so keine der beschriebenen Probleme mehr mit DoEvents.

    Gruß Uwe
     
  6. wilhelm1 Neuer User
    Hallo Uwe,
    vielen Dank. Den API Viewer habe ich inzwischen auch Listbox wird nicht breiter, Schriftgrösse ändert sich *:)*
     
    wilhelm1, 15. April 2025
    #21
Thema:

Listbox wird nicht breiter, Schriftgrösse ändert sich

Die Seite wird geladen...
  1. Listbox wird nicht breiter, Schriftgrösse ändert sich - Similar Threads - Listbox breiter Schriftgrösse

  2. Listbox Sortierung

    in Microsoft Excel Hilfe
    Listbox Sortierung: Hallo an die Gruppe, ich benötige Hilfe bei der Sortierung eines ListenFeldes. Ich habe eine Listbox in einem UserForm diese wird bei der Initalisierung so gefüllt. Private Sub...
  3. Suchfunktion für Listbox in Textbox

    in Microsoft Excel Hilfe
    Suchfunktion für Listbox in Textbox: Hallo an alle hier im Forum, ich bastel mal wieder ein wenig rum. Ich habe ein 2 spaltige Listbox. In der 1. Spalte stehen Zahlen von einstellig bis sechsstellig und in der 2. Spalte Namen. Im...
  4. Listbox befüllen

    in Microsoft Excel Hilfe
    Listbox befüllen: Hallo mein Name ist Carsten und ich bin neu hier im Forum und habe gleich eine Frage. Ich habe eine Userform mit verschiedenen voneinander abhängigen Listboxen. Das klappt auch soweit. Nur der...
  5. Listbox füllen wenn zelle daneben leer

    in Microsoft Excel Hilfe
    Listbox füllen wenn zelle daneben leer: Moin Moin zusammen, Ich möchte eine Listbox mit der Spalte A befüllen aber nur mit den Werten B leer ist. z.B A2 = 123 B2 = Test A3 = 321 B3 = Nun sollte in der ListBox nur der Wert...
  6. Ordnernamen, die Kriterien erfüllen in Listbox aufführen

    in Microsoft Excel Hilfe
    Ordnernamen, die Kriterien erfüllen in Listbox aufführen: Hallo Zusammen, ich suche nach einer function, mit der ich alle Ordner (ab einem fest vorgegebenen Startverzeichnis), deren Namen gewisse mehrere Kriterien enthalten (z.B. : beginnend mit...
  7. Suchfunktion in Listbox

    in Microsoft Excel Hilfe
    Suchfunktion in Listbox: Hallo zusammen, bin ein Neuling was VBA angeht und habe folgendes Problem. Über Double Click öffnet sich eine neue Userform und die Daten der Zeile füllen Textboxen aus. Das funktioniert alles....
  8. ListBox generiert selbstsändig Leerzeilen

    in Microsoft Excel Hilfe
    ListBox generiert selbstsändig Leerzeilen: Hallo zusammen, ich habe folgendes, dringendes Problem: Ich habe eine mehrspaltige ListBox erstellt die mit Daten aus einer Tabelle gefüttert wird. Dabei hab ich das ganze so programmiert dass...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden