Condividi:        

SETUP USERFORM

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

SETUP USERFORM

Postdi cd7019 » 10/02/14 21:09

Ciao,

ho scoperto da poco le userform, però ho un problema x il settaggio.
Ho creato 4 textbox e 1 CommandButton1.
Desidero che:
1) quando mi sposto da una textbox all'altra le minuscole diventino subito maiuscole.
2) quando uso il tasto TAB o il tasto INVIO mi sposto da una textbox all'altra secondo una sequenza ben precisa (textbox1,textbox2,textbox3,textbox4,CommandButton1), adesso ho un'altra sequenza.
3) il comando like "*" & TextBox4.Value & "*" non riconosce le maiuscole e le minuscole, come posso disattivare questa differenza?


Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Sponsor
 

Re: SETUP USERFORM

Postdi cd7019 » 10/02/14 22:05

4) E' possibile aggiungere dei separatori (linee verticali) tra una colonna e l'altra in una ListBox?

Codice: Seleziona tutto
With ListBox1
.Clear
.ColumnWidths = "70;30;70;100"
.ColumnCount = 4
.BoundColumn = 4
. ???  SEPARATORI  ???
    For R = 1 To Rmax
            .AddItem
        For C = 1 To 4
            .List(R - 1, C - 1) = MAGR(R, C)
        Next C
    Next R
End with


Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: SETUP USERFORM

Postdi ricky53 » 11/02/14 00:43

Ciao,
per il punto 1.
prova con
Codice: Seleziona tutto
Private Sub TextBox1_AfterUpdate()
    TextBox1 = UCase(TextBox1)
End Sub

Private Sub TextBox2_AfterUpdate()
    TextBox2 = UCase(TextBox2)
End Sub

'..... prosegui TU con le altre TextBox

Il codice va copiato nella stessa finestra ove hai le altre macro che utilizzano le TextBox



per il punto 3.

nella finestra ove hai l'istruzione
like "*" & TextBox4.Value & "*"

prima dell'inizio di tutte le macro devi inserire la seguente istruzione
Codice: Seleziona tutto
Option Compare Text
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: SETUP USERFORM

Postdi Anthony47 » 11/02/14 01:05

In aggiunta a quanto gia' detto da Ricky, sopra...

Per impostare la sequenza di tabulazione: selezioni la form, tasto dx, scegli "Ordine di tabulazione".

Per mettere in maiuscolo il testo di un testbox puoi anche usare l' evento TextBoxN_Exit, aggiungendo nel codice della userform, per ogni textbox, qualcosa come
Codice: Seleziona tutto
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Text = UCase(TextBox1.Text)
End Sub


Il listbox non e' formattabile; puoi pero' inserire le intestazioni di colonne che saranno separate e rimangono visibili in testa all' elenco; oppure aggiungi 3 colonne in piu' (nel tuo esempio) e le popoli con il carattere "|" cioe' il carattere Asc(124).
Il risultato sara' come da immagine:
Immagine
invia immagini


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: SETUP USERFORM

Postdi cd7019 » 11/02/14 11:08

Grazie mille.

Avrei ancora una domanda:
Quando il testo è più lungo della colonna è possibile ridurlo, come con le celle: cells(1,1).ShrinkToFit = True?

Grazie
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Re: SETUP USERFORM

Postdi Anthony47 » 11/02/14 19:20

Non credo si possa fare, per quello che ne so. E non si puo' nemmeno fare "testo a capo".
Potresti pensare di usare un textbox di appoggio, con MultiLine = True e WordWrap = True, in cui visualizzare l' intero testo della riga selezionata.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: SETUP USERFORM

Postdi Zer0Kelvin » 11/02/14 20:37

Anthony47 ha scritto:Potresti pensare di usare un textbox di appoggio, con MultiLine = True e WordWrap = True, in cui visualizzare l' intero testo della riga selezionata.
Ciao

Metodo facile ed efficace.
Inserisci una TextBox (es: textBox1) e nell'evento
Codice: Seleziona tutto
Private Sub ListBox1_Change()
    If Me.ListBox1.ListIndex > -1 Then
        Me.TextBox1.Value = Me.ListBox1.Value
    End If
End Sub

o qualcosa di simile, secondo le tue esigenze.
In alternativa dovresti calcolare la larghezza in punti del testo da visualizzare, ed adeguare le dimensioni del font, o del campo della ListBox :eeh:

Al posto della TextBox va bene anche una Label.
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 388
Iscritto il: 08/04/12 11:23


Torna a Applicazioni Office Windows


Topic correlati a "SETUP USERFORM":


Chi c’è in linea

Visitano il forum: Nessuno e 24 ospiti