Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-11-2009, 11:49   #1
leomac
Member
 
Iscritto dal: Oct 2009
Messaggi: 49
[VBA/EXCELL'07] Scroll bar Orizzontale e ListBox

Salve a tutti
ho un problema con delle ListBox.
Una ListBox prende dati da un database di excel. Ora se il testo è troppo lungo, non riesce ad entrare all'interno della ListBox. Se non volessi allungare quest'ultima, è possibile associare una ListBox ad una scorllbar orizzontale oppure c'è qualche opzione che la fa comparire normalmente come avviene per la scrollbar verticale??
grazie.

ciaociao
leomac è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2009, 13:25   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
http://support.microsoft.com/kb/192184
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 12:04   #3
leomac
Member
 
Iscritto dal: Oct 2009
Messaggi: 49
in effeti ero già passato per il supporto microsoft (oltre altri siti), ma senza risultato. O meglio mi ero impantanato nel TextWidth che in VBA non esiste
tra l'altro devo ammettere che il codice è abbastanza complesso per un nabbo come me...
Posto il codice :
Codice:
Option Explicit

      Private Declare Function SendMessageByNum Lib "user32" _
        Alias "SendMessageA" (ByVal hwnd As Long, ByVal _
        wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
      Const LB_SETHORIZONTALEXTENT = &H194

      Private Sub Command1_Click()
         Dim s As String
         Static x As Long
         s = InputBox("Please enter any text", "List scroll", _
           "this is a simple scrollbar sample for demonstration purposes")
         ListBox1.AddItem s
         If x < TextWidth(s & "  ") Then
            x = TextWidth(s & "  ")
           If ScaleMode = vbTwips Then _
               x = x / Screen.TwipsPerPixelX  ' if twips change to pixels
           SendMessageByNum ListBox1.hwnd, LB_SETHORIZONTALEXTENT, x, 0
         End If
      End Sub

Ultima modifica di leomac : 11-11-2009 alle 12:06. Motivo: modifica errore ortografia
leomac è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 12:18   #4
zuper
Senior Member
 
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
mi sa che con excel l'unica cosa è appunto allargare la cella
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi.
L'una o l'altra inutile scandalizzarsi.[plutus]
zuper è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 13:34   #5
leomac
Member
 
Iscritto dal: Oct 2009
Messaggi: 49
spero di no zupper mi verrebbe un Form veraAamente grande.
Nel frattempo vò in cerca di qualche artificio nei siti made in doichland.
I tedeschi alcune volte ne sanno 1a + del diavolo.
a dopo
leomac è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 14:52   #6
zuper
Senior Member
 
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
uhm a caso ho provato ad allargare la cella...

poi guardi la lista...ed è ok

ho rimpicciolito la cella...

e la list box è rimasta grande

(ho il 2007 )
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi.
L'una o l'altra inutile scandalizzarsi.[plutus]
zuper è offline   Rispondi citando il messaggio o parte di esso
Old 11-11-2009, 16:17   #7
leomac
Member
 
Iscritto dal: Oct 2009
Messaggi: 49
zupper mica ho capito cosa dici
non dipende dalla cella di excel se nella listbox il testo entra o no
che c'entra la cella??
il mio problema è il testo che non entra nella listbox. Se allargo la listbox l'userform diventa grande. Per evitare finestre d'userform enormi cerco una scroll orizzontale per la listbox.
leomac è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 09:12   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da leomac Guarda i messaggi
in effeti ero già passato per il supporto microsoft (oltre altri siti), ma senza risultato. O meglio mi ero impantanato nel TextWidth che in VBA non esiste
Ops !
In effetti il codice che ti ho linkato era per VB6. Purtroppo in VBA TextWidth non è disponibile, ma hai ancora qualche cartuccia da sparare.
La cosa forse più semplice che puoi fare, dato che parlavi di UserForm, è proprio quella di impostare la scrollbar orizzontale a livello di UserForm, mentre la ListBox andrà allargata quel tanto da poter contenere tutti gli elementi ( sta a te decidere quanto ). In questo modo :

Codice:
Private Sub UserForm_Initialize()

    ListBox1.Left = 5
    ListBox1.Top = 5
    ListBox1.Width = 2000
    
    Me.Width = 500
    
    Me.ScrollBars = fmScrollBarsHorizontal
    Me.KeepScrollBarsVisible = fmScrollBarsHorizontal
    Me.ScrollWidth = ListBox1.Width + ListBox1.Left * 2

End Sub
la UserForm può "contenere" qualsiasi ListBox, senza dover essere ridimensionata...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2009, 16:23   #9
zuper
Senior Member
 
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
Quote:
Originariamente inviato da leomac Guarda i messaggi
zupper mica ho capito cosa dici
non dipende dalla cella di excel se nella listbox il testo entra o no
che c'entra la cella??
il mio problema è il testo che non entra nella listbox. Se allargo la listbox l'userform diventa grande. Per evitare finestre d'userform enormi cerco una scroll orizzontale per la listbox.
sorry avevo letto forse troppo in fretta io :d
nn avevo capito stessi facendo uno userform

avevo inteso le listbox tipo quelle del validate ma su un foglio normale excel
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi.
L'una o l'altra inutile scandalizzarsi.[plutus]
zuper è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2009, 16:52   #10
leomac
Member
 
Iscritto dal: Oct 2009
Messaggi: 49
Marco ... ho risolto con la prorpietà ColunmWidths impostandola a valori alti compare direttamente la scrollbar orizzontale in fondo alla listbox.
Difatti immettendo una listbox con una larghezza molto bassa tale scroll compariva direttamente.
Cmq grazie per le risposte (anche a zupper ).

ciaociao
leomac è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2009, 23:49   #11
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da leomac Guarda i messaggi
Marco ... ho risolto con la prorpietà ColunmWidths impostandola a valori alti compare direttamente la scrollbar orizzontale in fondo alla listbox.
Difatti immettendo una listbox con una larghezza molto bassa tale scroll compariva direttamente.
Già, ColumnWidths, non ci avevo pensato.
In ogni caso resta il fatto che, anche così, devi dare un valore arbitrario, "abbastanza grande" da contenere l'item più lungo, ma non eccessivo, altrimenti ottieni un margine bianco inutile a destra...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 01-12-2009, 17:18   #12
leomac
Member
 
Iscritto dal: Oct 2009
Messaggi: 49
Marco alla fine ho risolto così:
Codice:
Dim CLIENTE As Object
Dim LungMax1 As Integer
Dim LungMax2 As Integer
Dim LungMax3 As Integer

LungMax1 = 0
LungMax2 = 0
LungMax3 = 0

For Each CLIENTE In Range(Range("A3"), Range("A3").End(xlDown))
    If CLIENTE.Text = "" Then Exit For
    CLIENTE.Select
    If ActiveCell.Offset(0, 14) = "SI" Then
        ListBox1.AddItem ActiveCell.Offset(0, 1)
        If Len(ActiveCell.Offset(0, 1).Text) > LungMax1 And Len(ActiveCell.Offset(0, 1).Text) > 12 Then
            LungMax1 = Len(ActiveCell.Offset(0, 1).Text)
            ListBox1.ColumnWidths = LungMax1 * 5.5
        End If
        ListBox2.AddItem ActiveCell.Offset(0, 2)
        If Len(ActiveCell.Offset(0, 2).Text) > LungMax2 And Len(ActiveCell.Offset(0, 2).Text) > 12 Then
            LungMax2 = Len(ActiveCell.Offset(0, 2).Text)
            ListBox2.ColumnWidths = LungMax2 * 5.5
        End If
        ListBox3.AddItem CLIENTE
        If Len(CLIENTE.Text) > LungMax3 And Len(CLIENTE.Text) > 12 Then
            LungMax3 = Len(CLIENTE.Text)
            ListBox3.ColumnWidths = LungMax3 * 5.5
        End If
    End If
Next
la cosa pare che funga...
1 saluto e thx
leomac è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
Spotify introduce 'Taste Profile': il co...
Sole e pioggia insieme: il nuovo pannell...
AWS e Cerebras uniscono le forze: nuova ...
Windows 11: accesso al drive C: bloccato...
BYD pronta a comprare un marchio storico...
Windows 11 si prepara ai monitor oltre i...
Apple avrebbe fissato un target di vendi...
Ultimi giorni per sfruttare le Offerte d...
I migliori smartphone in offerta ora su ...
Le migliori TV delle Offerte di Primaver...
Uno dei robot più avanzati del 2025 crol...
Robot aspirapolvere con stazione automat...
Il nuovo top di gamma compatto di OPPO n...
Nilox aggiorna la sua gamma di fat e-bik...
Meta valuta tagli fino al 20% della forz...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v