Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Form sempre in primo piano

    qualcuno può aitarmi?

    Devo creare un form su excel che rimanga in primo piano anche se torno a cliccare sulle celle.

    Ciao e grazie.....

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459

    Moderazione

    Hai letto il Regolamento di quest'area?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    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

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,459
    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...
    Mi riferivo al fatto che non hai indicato alcun linguaggio nel titolo, ed è obbligatorio.

    Di cosa si tratta? VBA per Excel?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Hai ragione e chiedo perdono, infatti si tratta di VBA per excel

  6. #6

    Re: Form sempre in primo piano

    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.....
    Ciao ! E' un... bel problema !

    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:
    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
    - aggiungi uno UserForm, e nel codice:
    codice:
    Option Explicit
    Public Vis As Boolean
    
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
       Vis = False
    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...)

    Pero' c'e' un problema... a risentirci !
    IceCube_HT (VB6 fan Club)

  7. #7
    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

  8. #8
    Originariamente inviato da aniural
    Spettacolo, "funziona", ma come hai detto tu c'è quel piccolo problema.
    "Quel" 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....


    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.
    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...
    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)

  9. #9
    .... 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)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.