qualcuno può aitarmi?
Devo creare un form su excel che rimanga in primo piano anche se torno a cliccare sulle celle.
Ciao e grazie.....
qualcuno può aitarmi?
Devo creare un form su excel che rimanga in primo piano anche se torno a cliccare sulle celle.
Ciao e grazie.....
Hai letto il Regolamento di quest'area?![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
si ma se c'è qualcuno che mi dice subito come si può creare un form che rimanga in primo piano mi semplifica la vita, sui miei manuali non lo ho trovato...
ciao grazie
Mi riferivo al fatto che non hai indicato alcun linguaggio nel titolo, ed è obbligatorio.Originariamente inviato da aniural
si ma se c'è qualcuno che mi dice subito come si può creare un form che rimanga in primo piano mi semplifica la vita, sui miei manuali non lo ho trovato...
Di cosa si tratta? VBA per Excel?
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Hai ragione e chiedo perdono, infatti si tratta di VBA per excel
Ciao ! E' un... bel problema !Originariamente inviato da aniural
qualcuno può aitarmi?
Devo creare un form su excel che rimanga in primo piano anche se torno a cliccare sulle celle.
Ciao e grazie.....
Excel non ha i Form standard del VB, ma degli oggetti in parte simili, gli UserForm, con parecchie differenze e limitazioni... una della quali e' che NON esiste la proprieta' Visible.
Potresti "aggirare" l'ostacolo creando una variabile boolean, e nell'evento Selection_Change (che si verifica quando clicchi su una cella) rivisualizzare lo UserForm...
Prova cosi':
- metti sul foglio1 un command button, che servira' per attivare lo userform, e nel codice del foglio1:
- aggiungi uno UserForm, e nel codice:codice:Option Explicit Private Sub CommandButton1_Click() UserForm1.Vis = True UserForm1.Show End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If UserForm1.Vis Then UserForm1.Show End Sub
Come vedrai, funziona...: il form rimane in primo piano, puoi spostarlo (NON ridimensionarlo: non e' un form standard VB, e' nato per la produzione di maschere e/o moduli di input da compilare...)codice:Option Explicit Public Vis As Boolean Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Vis = False End Sub
Pero' c'e' un problema...a risentirci !
IceCube_HT (VB6 fan Club)
Spettacolo, "funziona", ma come hai detto tu c'è quel piccolo problema.
Provo a spiegarti meglio cosa sto cercando di realizzare così magari mi dai una mano,
Dal Form che rimane sempre in primo piano ho alcuni TextBox che mi modificano i valori di alcune celle, e poi dvo scorrere sulla pagina fino a trovare la cella che mi interessa, avendo sempre a disposizione il form per la modifica dei valori.
Spero di essermi spiegato abbastanza bene
CIAO E GRAZIE
"Quel" problema...?Originariamente inviato da aniural
Spettacolo, "funziona", ma come hai detto tu c'è quel piccolo problema.
Non so se ti riferisci anche tu al fatto che, una volta attivato lo UserForm, questo si "prende" il focus di input, pertanto non e' piu' possibile digitare in celle "in colonna" con, ad es.:
1 <Enter>
2 <Enter>
3 <Enter>
... perche' si deve ogni volta fare DOPPIO click per attivare le celle....
Qui non ti seguo: con Excel e' pratico digitare DIRETTAMENTE nelle celle, non ha molto senso usare delle textbox che a loro volta riportano quanto digitato nelle celle...Originariamente inviato da aniural
Provo a spiegarti meglio cosa sto cercando di realizzare così magari mi dai una mano,
Dal Form che rimane sempre in primo piano ho alcuni TextBox che mi modificano i valori di alcune celle, e poi dvo scorrere sulla pagina fino a trovare la cella che mi interessa, avendo sempre a disposizione il form per la modifica dei valori.
A meno che tu non intenda: uso un form come maschera di input, dove l'utente digita quello che vuole, il programma controlla il tutto e, se OK, alla pressione di un button ribalto il contenuto sul foglio...
...ma se cosi' fosse non avresti il problema di mantenere il foglio in primo piano, perche' sarebbe "modale"...
In Excel e' molto piu' pratico definire delle celle per l'input (magari con uno sfondo di colore diverso), sbloccarle (in Formato Celle/Protezione), poi proteggere il foglio, consentendo all'utente di selezionare SOLO le celle sbloccate....
IceCube_HT (VB6 fan Club)
.... oppure utilizzi per l'input le prime righe del foglio, e metti un bel "Blocca Riquadri", cosi' rimangono sempre visibili, anche se l'utente scrolla il foglio...
.... oppure utilizzi un intero foglio come maschera di input, e gli altri fogli "prendono" i dati da qui direttamente...
... insomma, la soluzione del form sempre in primo piano mi sembra un po' macchinosa, per l'utilizzo con Excel... ovviamente IMHO e non sapendo esattamente cosa devi realizzare !
![]()
IceCube_HT (VB6 fan Club)