Condividi:        

Excel - Riempire e ripulire cella con un clic

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

Excel - Riempire e ripulire cella con un clic

Postdi nirvana-82 » 29/03/12 08:34

Ciao,
in excel, avrei bisogno di riempire una cella con una “X” cliccandoci su e ripulirla, se già riempita con la “X”, ricliccandoci su. L’operazione dovrebbe essere limitata solo ad una parte del foglio, diciamo ad una parte di una colonna o comunque ad un range definito di celle, ed inibita al resto del foglio.
Grazie mille
nirvana-82
Newbie
 
Post: 4
Iscritto il: 29/03/12 08:30

Sponsor
 

Re: Excel - Riempire e ripulire cella con un clic

Postdi wallace&gromit » 29/03/12 09:58

ciao nirvana,
sfruttando una macro di Anthony che eseguiva uno zoom sulle celle di un determinato range ho sviluppato questa.
È ancora bruttissima (non l'ho ripulita bene rispetto a quella originale) ma funziona:
la inserisci con clic destro sull'etichetta della pagina e visualizza codice.
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

CheckArea = "B5:C10"   '<<< l' area che sara' modificata
If Application.Intersect(Target, Range(CheckArea)) Is Nothing Or Target.Count > 1 Then
   ActiveWindow.Zoom = 100
Else
    ActiveWindow.Zoom = 100
If ActiveCell.FormulaR1C1 = "" Then
ActiveCell.FormulaR1C1 = "x"
Else
ActiveCell.FormulaR1C1 = ""
End If
End If
End Sub

Dovrai modificare tu il range desiderato.
Poi Anthony forse ci fornirà una bella versione pulita!
P.S. una volta fatta una modifica sulla cella non succede niente cliccando ancora, devi selezionarne un'altra e poi ritornare sulla prima. (anche questo forse si può migliorare)
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Excel - Riempire e ripulire cella con un clic

Postdi nirvana-82 » 29/03/12 10:10

Grazie per la soluzione che va già bene così. L'unica cosa è che per cambiare lo stato della cella (X / blank) devo cliccare prima su un'altra cella e poi ricliccare su quella che voglio modificare. Non sarebbe possibile gestire la cosa tipo checkbox, cioè cliccando sempre sulla medesima cella?
Grazie ancora
nirvana-82
Newbie
 
Post: 4
Iscritto il: 29/03/12 08:30

Re: Excel - Riempire e ripulire cella con un clic

Postdi Flash30005 » 29/03/12 19:15

Ciao Nirvana-82 e benvenuto nel Forum

Una macro simile ma che non devi spostarti (provvede la macro a farlo) potrebbe essere questa
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckArea = "T2:T12"
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Selection.Value = "x" Then
        Selection.ClearContents
        ActiveCell.Offset(0, 1).Select
    Else
        Selection.Value = "x"
        ActiveCell.Offset(0, 1).Select
    End If
End If
Application.EnableEvents = True
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel - Riempire e ripulire cella con un clic

Postdi nirvana-82 » 29/03/12 21:14

Grazie mille, così è ancora meglio. Un'ultima cosa e la cosa sarebbe perfetta (ma non mi picchiate...). Sarebbe possibile cambiare lo stato della cella solo al clic e non anche al passaggio sulla cella tramite i tasti freccia?
Ciao
nirvana-82
Newbie
 
Post: 4
Iscritto il: 29/03/12 08:30

Re: Excel - Riempire e ripulire cella con un clic

Postdi Flash30005 » 29/03/12 21:29

Con il semplòice click no
ma con il doppio click si
Stessa routine ma posizionata un Doubleclck, così
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
CheckArea = "T2:T12"
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    Application.EnableEvents = False
    If Selection.Value = "x" Then
        Selection.ClearContents
        ActiveCell.Offset(0, 1).Select
    Else
        Selection.Value = "x"
        ActiveCell.Offset(0, 1).Select
    End If
End If
Application.EnableEvents = True
End Sub


Chiaramente devi cancellare la precedente

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel - Riempire e ripulire cella con un clic

Postdi nirvana-82 » 30/03/12 15:18

Così è perfetta.
Grazie!!!
nirvana-82
Newbie
 
Post: 4
Iscritto il: 29/03/12 08:30


Torna a Applicazioni Office Windows


Topic correlati a "Excel - Riempire e ripulire cella con un clic":


Chi c’è in linea

Visitano il forum: systemcrack e 33 ospiti