Private Sub CommandButton2_Click()
Range("d3:m3").ClearContents
End Sub
al posto di CommndButtom2_Clik() cosa devo inserire?
max
1) ALT+F11 e sei nell'editor del vb di Excel
2) individua: Progetto-VBAProject
3) fai doppio click su Foglio1
4) in alto nella ComboBox dove hai: (generale),
seleziona: Worksheet
5) ti viene messo sul modulo di codice lo scheletro
dell'evento che, ricordandoti che in questo esempio
voglio che sia la cella B1 a *trasformarsi* in pulsante,
deve avere al suo interno il codice per fare
quanto chiedi:
Private Sub Worksheet_SelectionChange( _
ByVal Target As Range)
If Target.Address = "$B$1" Then
Me.Range("D3:M3").ClearContents
End If
End Sub
Nel caso la cella sia diversa, modifica il suo
riferimento.
Dai un'occhiatina alla guida di Excel
all'evento: SelectionChange
e, se vuoi, qui:
http://www.maurogsc.eu/excel/xlseventoselectionchange.aspx
Grazie per l'attenzione.
--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads/
Grazie della risposta mauro.
Nel foglio dove devo inserire questo nuovo codice
non posso inserirlo perchè c'è anche questo codice:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("P16:W1502"), Target) Is Nothing Then
Dim sFatto As String
Dim sRow As Long
Dim nClm As Long
;
;
;
;
e all'avvio mi dà questo errore:
Errore di compilazione:
rilevato nome non univoco: Worksheet_SelectionChange
Sapendo poco di vba mi sembra che l'errore sia che 2
Worksheet_SelectionChange assieme non possono andare, almeno penso.
C'è una soluzione?
Un'altra cosa questo nuovo comando al posto del pulsante
non e' alla fine solo 1 ma di piu' riferiti altre serie di celle.
max
If Target.Address = "$B$1" Then
Me.Range("D3:M3").ClearContents
End If
"maxma" <maxsi...@yahoo.it> ha scritto nel messaggio
news:cd043898-a724-4cf2...@a15g2000yqm.googlegroups.com...
> On 22 Gen, 17:49, "Mauro Gamberini"
> <maurogscRIMUOV...@RIMUOVEREaliceposta.it> wrote:
>> I fogli hanno un evento SelectionChange che si scatena
>> ogni volta che selezioni una cella.
>> Quindi, se la tua cella � la cella B1 del Foglio1:
> non posso inserirlo perch� c'� anche questo codice:
>
> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
> If Not Intersect(Range("P16:W1502"), Target) Is Nothing Then
> Dim sFatto As String
> Dim sRow As Long
> Dim nClm As Long
> ;
> ;
> ;
> ;
>
> e all'avvio mi d� questo errore:
>
> Errore di compilazione:
> rilevato nome non univoco: Worksheet_SelectionChange
>
> Sapendo poco di vba mi sembra che l'errore sia che 2
> Worksheet_SelectionChange assieme non possono andare, almeno penso.
> C'� una soluzione?
Non mi cancella niente.
In vba > foglio1 ho inserito:
Option Explicit
Private Sub Worksheet_SelectionChange( _
If Target.Address = "$a$5" Then
Me.Range("e5:n5").ClearContents
End If
vado in excel clicco in A5 ma non cancella E5:N5
dove sbaglio?
Forse manca questo?
--------------------------------------------------------
5) ti viene messo sul modulo di codice lo scheletro
dell'evento che, ricordandoti che in questo esempio
voglio che sia la cella B1 a *trasformarsi* in pulsante, <<<<<<???
deve avere al suo interno il codice per fare <<<<<<<<<????
quanto chiedi:
--------------------------------------------------------
max
Ciao max.
Dove sbagli ho già avuto modo di dirtelo in altre occasioni.:-))
Comunque, prova con questa routine di evento, il doppioclic sinistro,
ovviamente dopo aver verificato sulla guida in linea sia gli eventi
del workbook che questo evento specifico.
Nel modulo del Foglio1 copia/incolla questa macro:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
Cancel = True
If Target.Address = "$A$5" Then
Me.Range("E5:N5").ClearContents
End If
End Sub
A scanso di equivoci salva, chiudi il file e riaprilo; adesso se fai
un doppioclic sx sulla cella A5 del Foglio1 si dovrebbero cancellare i
valori contenuti nel range: E5:N5
Eliano
Grazie,
max