Autosize columns ListBox1
Autosize columns ListBox1
In UserForm1 am ListBox1 ce se populeaza cu date din tabeluil din Sheet1.
Insa in unele celeule din ListBox1 nu se vad toate caracterele din cauza ca lungimea coloanei din listbox1 este mai mica fata de numarul de caractere a celulei din sheet1.Pentru a ma face mai explicit am atasat o imagine cu problema mea.
Ce cod trebuie scris si unde pentru a redimensiona coloanele din ListBox1 in functie de numarul de caractere al celulelor din Sheet1? Va rog frumos daca se poate sa ma ajutati.
Multumesc anticipat.
Insa in unele celeule din ListBox1 nu se vad toate caracterele din cauza ca lungimea coloanei din listbox1 este mai mica fata de numarul de caractere a celulei din sheet1.Pentru a ma face mai explicit am atasat o imagine cu problema mea.
Ce cod trebuie scris si unde pentru a redimensiona coloanele din ListBox1 in functie de numarul de caractere al celulelor din Sheet1? Va rog frumos daca se poate sa ma ajutati.
Multumesc anticipat.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Re: Autosize columns ListBox1
In procedura atasata evenimentul Initialize al UserForm-ului folosesti proprietatea "ColumnWidths" a ListBox-ului respectiv:
Latimea implicita a coloanelor e de 72 de puncte (1''). Din pacate nu cred ca se poate imagina o formula de calcul in functie de numarul de caractere, asa ca singura varianta pe care eu o vad posibila si acceptabila e aceea sa folosesti mai intai valoarea -1 in proprietatea "ColumnWidths" din fereastra Properties (asta va seta latimea implicita pentru toate coloanele - 72 puncte), sa afisezi form-ul, sa faci scroll pe tot pachetul de date si sa apreciezi pentru fiecare coloana cam cate puncte latime ar trebui sa aiba. Prin 2-3 incercari, probabil ca vei ajunge la o forma care sa te multumeasca.
Cod: Selectaţi tot
Private Sub UserForm_Initialize()
Me.ListBox1.ColumnWidths = "144;64;64;68;64;64;144"
End Sub
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: Autosize columns ListBox1
In plus, daca vrei o "redimensionare automata" in functie de numarul maxim de carectare de pe fiecare coloana, am gasit aici un tutorial care poate iti va fi de folos: Showing An Array On A Form; Autosizing ColumnWidths Of A ListBox iar din sectiunea a 3-a "Module Code and Conclusion" poti descarca si fisierul XLS "demo".
Re: Autosize columns ListBox1
Multumesc de ajutorul acordat, insa cea de a doua varianta propusa nu functioneaza.Cea de a doua varianta care nu functioneaza m-ar interesa pe mine.
Daca are cineva timp sa-si bata capul cu problema mea facand un exemplu functional i-as fi recunoscator.
Va multumesc.
Daca are cineva timp sa-si bata capul cu problema mea facand un exemplu functional i-as fi recunoscator.
Va multumesc.
Re: Autosize columns ListBox1
Am gasit un exemplu functional la problema mea.
Multumesc tuturor.
Daca cineva a gasit o varianta mai simpla pentru rezolvarea acestei problema va rog frumos nu ezitati sa o atasati.
Multumesc.
Multumesc tuturor.
Daca cineva a gasit o varianta mai simpla pentru rezolvarea acestei problema va rog frumos nu ezitati sa o atasati.
Multumesc.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
-
- Moderator
- Mesaje: 4570
- Membru din: Vin Iul 31, 2009 7:32 am
Re: Autosize columns ListBox1
Pai este exact fisierul "demo" de care iti spusesem pentru acel tutorial...raresmc scrie:Am gasit un exemplu functional la problema mea.
Din pacate ceva mai bun (sau mai "scurt") inca nu am gasit... In plus exemplul de acolo nu tine cont si de dimensiunea fontului iar pentru asta, asa cum a spus si Gecs, e greu de gasit o formula care sa tina cont de lungimea si inaltimea textului... dar mai cautam... pana la urma poate se gaseste ceva si mai bun...
Re: Autosize columns ListBox1
Am un exemplu mai putin complicat care face acelasi lucru:autodimensioneaza coloanele listbox-ului in functie de lungimea coloanei tabelului din Sheet1
Pe curand , toate cele buna va doresc.
Anuntati-ma daca ceva nu functioneaza corect.Pe curand , toate cele buna va doresc.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.