Impedire selezione celle



  • Impedire selezione celle
    di mikipaldj (utente non iscritto) data: 27/12/2015 23:09:37

    Salve,
    vi espongo il mio problema...
    ho un foglio di lavoro excel e vorrei impedire la selezione di alcune celle (vi scrivo sotto il range)
    Range("M13:O43,B12:P12,A13:A43,A2:F6,G2:O6,P2:P6,Q2:T6,R12:T12,R15:T15,R18:T18,R16:T16,R19:T19")
    Quindi (per essere più chiaro) ricapitolando...
    Bisogna impedire la selezione del range scritto sopra, alla selezione si deve sentire un beep e la macro ti deve "rimandare alla cella da dove sei venuto" (o se quest'ultima parte non è possibile alla cella a sinistra)
    AUGURI e grazie in anticipo...


  • Nessuno ancora?
    di Mikipaldj (utente non iscritto) data: 28/12/2015 00:08:05

    Nessuno??
    Mi serve per domani a lavoro?!



  • di Marius44 data: 28/12/2015 09:06:51

    Grazie per gli Auguri che ricambio.
    Ma se ti serve per domani perché non hai postato la tua richiesta prima.
    Siccome è Natale (passato da poco) vedi se va bene questa macro (da inserire nel modulo di classe del foglio che ti interessa.

    Fai sapere (se non t'hanno licenziato!!!!!). Ciao,
    Mario
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim campo As Range
    Set campo = Range("M13:O43,B12:P12,A13:A43,A2:F6,G2:O6,P2:P6,Q2:T6,R12:T12,R15:T15,R18:T18,R16:T16,R19:T19")
        If Not Intersect(Target, campo) Is Nothing Then
            MsgBox "Cella non selezionabile", 0 + 163, "Errore"
            Cells(1, 1).Select
            GoTo 1
        End If
    1   Set campo = Nothing
    End Sub



  • di mikipaldj data: 28/12/2015 12:27:05

    Prima di tutto grazie mario...
    Ieri sera dopo le solite cene post-natalizie ho scoperto di avere la febbre a 39 quindi oggi il mio supervisore ha detto che potevo stare a casa fino al 3 gennaio...
    Per il lavoro è andata bene...
    Adesso sto accendendo il pc, testo il codice e ti faccio sapere..
    Ancora grazie e auguri.
    Miki


  • Funziona!
    di mikipaldj (utente non iscritto) data: 28/12/2015 12:43:56

    Ovviamente non sono stupito che funzioni dato che la risposta me l' hai data tu (ma anche se la dava vecchio frac,textomb,patel, alfrimpa,mabolsie...)
    Mi "sono permesso" di riadattare il codice per far si che dopo la msgbox la selezione va alla cella a sinistra inserendo:
    ActiveCell.Offset(0, -1).Select
    Vi posto il codice completo sotto...



    ANCORA GRAZIE
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim campo As Range
    Set campo = Range("M13:O43,B12:P12,A13:A43,A2:F6,G2:O6,P2:P6,Q2:T6,R12:T12,R15:T15,R18:T18,R16:T16,R19:T19")
        If Not Intersect(Target, campo) Is Nothing Then
        Beep
            MsgBox "Cella non selezionabile", 0 + 163, "Errore"
            ActiveCell.Offset(0, -1).Select
            GoTo 1
        End If
    1   Set campo = Nothing
    End Sub
    



  • di Marius44 data: 28/12/2015 18:56:07

    Grazie a te per il cortese riscontro.
    Visto che hai trovato la soluzione dovresti, per favore, spuntare "RISOLTA"

    Ciao,
    Mario



  • di mikipaldj data: 30/12/2015 20:13:43

    Grazie a tutti per le risposte, Felice anno nuovo



  • di patel data: 02/01/2016 08:48:39

    attenzione, se la cella selezionata è in colonna A la macro da errore non potendo selezionare una colonna prima di A