Condividi:        

vba : "bloccare" cursore su colonna "A" e scrivere solo "X"

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

vba : "bloccare" cursore su colonna "A" e scrivere solo "X"

Postdi karug64 » 16/03/14 23:27

Salve a tutti.
E' possibile "bloccare" il cursore su una colonna non permettendo di spostarsi sulle altre.
In sostanza vorrei che l'utente potesse scrivere solo la lettera "X" sulla colonna "A" e quindi se provasse a spostarsi su "B" "C" ecc ecc il cursore non dovrebbe andarci.

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: vba : "bloccare" cursore su colonna "A" e scrivere solo

Postdi Anthony47 » 17/03/14 00:00

Ad esempio puoi proteggere tutto il foglio eccetto colonna A, e poi proteggere disabilitando la possibilita' di selezionare le celle protette...
Quanto alla X lo fai con la convalida da elenco (un elenco un po' corto).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: vba : "bloccare" cursore su colonna "A" e scrivere solo

Postdi karug64 » 17/03/14 00:37

Anthony47 ha scritto:Ad esempio puoi proteggere tutto il foglio eccetto colonna A, e poi proteggere disabilitando la possibilita' di selezionare le celle protette...
Quanto alla X lo fai con la convalida da elenco (un elenco un po' corto).

Ciao


Ciao.
Cosi facendo il cursore andrebbe anche su B, C ecc ecc anche se non ne permetterebbe la modifica.
Suppongo, quindi, che non si possa bloccare su A....
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba : "bloccare" cursore su colonna "A" e scrivere solo

Postdi Anthony47 » 17/03/14 01:22

Devi provare, e vedrai che con la protezione del foglio puoi bloccare la possibilita' di selezionare le celle protette; basta togliere una spunta...
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: vba : "bloccare" cursore su colonna "A" e scrivere solo

Postdi scossa » 17/03/14 09:09

karug64 ha scritto:Salve a tutti.
E' possibile "bloccare" il cursore su una colonna non permettendo di spostarsi sulle altre.
In sostanza vorrei che l'utente potesse scrivere solo la lettera "X" sulla colonna "A" e quindi se provasse a spostarsi su "B" "C" ecc ecc il cursore non dovrebbe andarci.


Metti questi codici nel modulo di classe del foglio interessato:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Value <> "X" Then
    Application.EnableEvents = False
    Target.ClearContents
    Application.EnableEvents = True
  End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column <> 1 Or Target.Cells.Count > 1 Then
    Application.EnableEvents = False
    Me.Cells(Target.Row, 1).Select
    Application.EnableEvents = True
  End If
End Sub
Bye!
scossa

Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)
Avatar utente
scossa
Utente Senior
 
Post: 427
Iscritto il: 01/04/12 16:40
Località: Provincia di Verona

Re: vba : "bloccare" cursore su colonna "A" e scrivere solo

Postdi Anthony47 » 17/03/14 16:06

Sempre "ad esempio", per la "X" nelle celle (oltre alla Convalida o alla macro Worksheet_Change suggerita da Scossa):
-selezioni le celle in cui vuoi limitare alla X e applichi una formattazione:
--tab Numero, tipo Personalizzato
--come "Tipo" inserisci
Codice: Seleziona tutto
"X";"X";"X";"X"

--Ok
In questo modo qualsiasi cosa venga digitata si vedrà sempre X.
Ribadisco "si vedrà", perche' invece il contenuto sara' sempre quello digitato.

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: vba : "bloccare" cursore su colonna "A" e scrivere solo

Postdi karug64 » 18/03/14 00:22

scossa ha scritto:
karug64 ha scritto:Salve a tutti.
E' possibile "bloccare" il cursore su una colonna non permettendo di spostarsi sulle altre.
In sostanza vorrei che l'utente potesse scrivere solo la lettera "X" sulla colonna "A" e quindi se provasse a spostarsi su "B" "C" ecc ecc il cursore non dovrebbe andarci.


Metti questi codici nel modulo di classe del foglio interessato:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Value <> "X" Then
    Application.EnableEvents = False
    Target.ClearContents
    Application.EnableEvents = True
  End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column <> 1 Or Target.Cells.Count > 1 Then
    Application.EnableEvents = False
    Me.Cells(Target.Row, 1).Select
    Application.EnableEvents = True
  End If
End Sub


La soluzione funziona, ma nell'evento SelectionChange c'e' gia l'istruzione di cui al topic http://www.pc-facile.com/forum/viewtopic.php?f=26&t=101558 che non funziona piu' ...
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22


Torna a Applicazioni Office Windows


Topic correlati a "vba : "bloccare" cursore su colonna "A" e scrivere solo "X"":


Chi c’è in linea

Visitano il forum: Nessuno e 36 ospiti