Aiuto con macro excel

Pubblicità

jimmyzoe

Utente Attivo
Messaggi
458
Reazioni
23
Punteggio
41
Salve a tutti avrei bisogno, se possibile, di un aiuto con una viva di excel. Grazie alla macro ogni volta che clicco su una cella vuota, mi restituisce come valore una X, tuttavia questo comportamento lo fa su tutto il foglio excel, a me servirebbe che lo facesse solo su una selezione di celle e sulle altre avere la possibilità di inserire i dati a mano. Per completezza d'informazione il foglio che sto facendo è una banale scheda di raccolta dati sullo stato di conservazione di molti volumi, a mano inserisco il.titolo e poi con il mouse vado a cliccare sulle celle vuote delle colonne corrispondenti ai vari danni presenti. Avevo pensato alle caselle di controllo ma ho visto che poi i filtri non funzionano. Ovviamente se avete altri suggerimenti sono ben accetti.... Vi ringrazio per il vostro tempo e buona giornata
Questa è la macro:
Sub InserisciX()
Dim cella As Range
Set cella = Application.InputBox("Seleziona la cella in cui vuoi inserire la X", Type:=8)
cella.Value = "X"
End Sub


Inviato dal mio Mi 9 Lite utilizzando Tapatalk
 
Ho provato su office 2019:
nelle macro puoi sapere che colonna e riga (in valore numerico) stai cliccando con le funzioni:
activecell.Column
activeCell.Row

con questi puoi fare un IF e scegliere se far eseguire la tua funzione o no.
 
BOH

non è molto chiaro cosa ti serve

se devi inserire una X nella cella che clicchi

evento Worksheet_SelectionChange




Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Target.Value = "X"

End Sub
 
Vuole che cliccando una cella venga inserito il valore X, però non su tutte le celle ma solo su una parte del foglio.
sapendo colonna e riga della cella cliccata, con una IF può decidere se farlo o no.
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim colonna, riga As Integer

colonna = Target.Cells.Column
riga = Target.Cells.Row

'hai la riga e colonna cliccata metti gli opportuni if
' sotto se la cella è vuota mette la x
' se c'è x la toglie
' altro valore nulla

If Target.Value = "X" Then

Target.Value = ""
ElseIf Target.Value = "" Then

Target.Value = "X"

End If

End Sub


l'evento sopra si ha anche quando entri nella cella con la tastiera

quindi o giochi con gli if

o puoi provare con il doppio click:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top