Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

pulsanti sempre visibile

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

pulsanti sempre visibile

Postdi matzap » 28/01/16 18:54

ciao,
allora in un foglio ho dei pulsanti.
nel foglio ho bloccato prime due righe e prima colonna.

quando scorro le colonne i pulsanti si spostano e si nascondono.
è possibile evitarlo?


ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Sponsor
 

Re: pulsanti sempre visibile

Postdi wallace&gromit » 28/01/16 22:11

ciao,
l'unica soluzione che mi viene in mente è una userform in modalità modeless, che avvii con una macro in cui inserisci per esempio:
"UserForm1.Show vbModeless"

La potresti fare attivare da un pulsante posto all'incrocio in alto a sinistra, che è l'unico punto che non si muove mai con lo scroll.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: pulsanti sempre visibile

Postdi alfrimpa » 28/01/16 22:24

Un'altra ipotesi di soluzione (non so se praticabile) potrebbe essere quella di utilizzare il Blocca Riquadri ed inserire i pulsanti all'interno di questi.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 841
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: pulsanti sempre visibile

Postdi Anthony47 » 28/01/16 22:57

nel foglio ho bloccato prime due righe e prima colonna.
Immagino che li hai messi in riga 1; adesso puoi modificare la posizione orizzontale con l'evento Worksheet_SelectionChange, come nel seguente esempio:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Pulsanti Modulo:
Shapes("Button 1").Left = ActiveCell.Left
Shapes("Button 2").Left = ActiveCell.Left + Shapes("Button 2").Width + 5

'Pulsanti activeX:
CommandButton1.Left = ActiveCell.Left
CommandButton2.Left = ActiveCell.Left + CommandButton1.Width + 5
'
End Sub
Ovviamente devi usare i nomi dei tuoi oggetti.

Questo in aggiunta ai suggerimenti di W&G e Alfredo, vedi sopra.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: pulsanti sempre visibile

Postdi matzap » 01/02/16 10:44

Grazie Antony, la soluzione modeless non la conoscevo!

unico problema è che se apro un altro documento excel la userform mi si visualizza anche in questo.
c'è un modo eventualmente per farla chiudere?

Grazie
ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Re: pulsanti sempre visibile

Postdi wallace&gromit » 01/02/16 11:50

ringrazi Anthony ma hai applicato la mia soluzione!

hai provato la sua?
È un concetto tutto diverso, che si applica proprio solo al singolo foglio di lavoro.
In questo caso i pulsanti non sono più racchiusi in una userform ma inseriti direttamente sulla pagina, quindi sono chiusi alla chiusura del file.
Devi solo sapere se hai inserito i pulsanti modulo (la prima scelta in alto della lista di controlli) o activeX (la scelta a metà della lista).
Inserisci la sua macro direttamente nel foglio di lavoro facendo clic destro sul label e visualizza codice.
Dalla macro cancelli quello che non fa al caso tuo (modulo o activeX) e modifichi i nomi dei pulsanti secondo le tue necessità.

Ogni volta che sposterai la selezione su una nuova cella i pulsanti si allineeranno a destra a partire da lì.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: pulsanti sempre visibile

Postdi matzap » 01/02/16 15:42

ops! scusami!
in effetti ho utilizzato la tua soluzione, cioè la userform in modeless! è la più utile per me dato che mi rimane aperta anche se cambio foglio.
Vorrei però chiuderla alla selezione di un altro documento. è possibile?
ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Re: pulsanti sempre visibile

Postdi wallace&gromit » 01/02/16 19:19

crei una macro in chiusura di file dove nascondi la userform:

Codice: Seleziona tutto
Sub Auto_close()
UserForm1.Hide
End Sub
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: pulsanti sempre visibile

Postdi ricky53 » 02/02/16 00:23

Ciao,
io propongo questo codice, da inserire in "ThisWorkbook":
Codice: Seleziona tutto
Private Sub Workbook_Deactivate()
    Unload UserForm1
End Sub

Con questo codice alla selezione/apertura di un altro file la form viene "chiusa".

W&G: alla chiusura di un file la "Userform" con la proprietà "ShowModal" impostata a "false" viene comunque chiusa senza la necessità di alcun codice.
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: pulsanti sempre visibile

Postdi Anthony47 » 02/02/16 02:43

Grazie Antony, la soluzione modeless non la conoscevo!
Troppa grazia, matzap...

Anche io, come Ricky, propendo per usare gli eventi Activate e Deactivate, disponibili sia a livello di Workbook che di foglio.

Ad esempio, se metti in QuestaCartellaDiLavoro:
Codice: Seleziona tutto
Private Sub Workbook_Activate()
UserForm2.Show vbModeless
End Sub

Private Sub Workbook_Deactivate()
UserForm2.Hide
End Sub
Quando il file viene attivato si mostra la form, quando viene deattivato (ad esempio perche' passi su altro file) la form viene nascosta

Esempio2, se metti nel modulo vba di uno o piu' singoli fogli:
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
UserForm2.Hide
End Sub

Private Sub Worksheet_Deactivate()
UserForm2.Show vbModeless
End Sub
Quando "quel foglio" viene attivato la form viene nascosta, quando viene deattivato la form viene mostrata. Questa logica ha senso se vuoi mostrare la form su quasi tutti i fogli, escludendone pochi; se invece vuoi mostrarla su pochi fogli allora invertirai la logica: attiva foglio=attiva form, disattiva foglio=disattiva form.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: pulsanti sempre visibile

Postdi matzap » 02/02/16 14:35

perfetto grazie! utilizzero il primo codice che agisce sulla cartella di lavoro.

ciao
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27


Torna a Applicazioni Office Windows


Topic correlati a "pulsanti sempre visibile":


Chi c’è in linea

Visitano il forum: Nessuno e 17 ospiti