Fissa una cella in base a un riferimento

Anonimo
2014-02-04T09:20:57+00:00

Buon giorno,

non conoscendo vba avrei bisogno di un codice per Excel 2003 in grado di effettuare le seguenti azioni :

1) Fissare (AT10=formula) ovvero rendere il valore non più modificabile sia al variare dei riferimenti di formula, sia ad accidentali inserimenti di cella, questo codice dovrebbe fissare come detto, la cella (AT10) a condizione che nella cella (AX10="SI") e cosi via per tutte le righe successive del database.

  1. Quando il valore nella cella (AX10="NO") la formula iniziale contenuta in (AT10) si comporti normalmente e se prima (AT10) risultasse gia fissata dall'azione numero 1) precedente, il codice dovrebbe riportare alle condizioni iniziali la cella, rendere attiva la funzione contenuta e anche le eventuali modifiche del contenuto.

Un grosso grazie a chi mi può aiutare.

Dario (dpg70)

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

11 risposte

Ordina per: Più utili
  1. Anonimo
    2014-02-04T17:11:36+00:00

    Ciao AndyCap64, ringrazio del tuo interessamento.

    E si, la cella AX10 con convalida elenco "SI, NO" pilota  la riga n.10 con formattazione e la cella idi mio interesse AT10 dovrebbe avere le caratteristiche su indicate nella richiesta.

    Successivamente anche la cella AX11 dovrebbe essere pilotata da AT11 e per le successive.

    In AX10=SE(E10="";"";AQ10), intestazione colonna Prezzo U.tà

    e

    AQ10=SE(AR10<>"";AR10;SE(AS10<>"";AS10/AC10;SE(E10="";"";SOMMA(AD10:AK10))))

    Ciao Dario,

    io però, ti ho chiesto la formula contenuta nella cella AT10 cioè la cella da bloccare.

    Hai solamente sbagliato a scrivere il riferimento AQ10 al di AT10 oppure è proprio sbagliata la cella?

    Andrea.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-02-04T16:19:12+00:00

    Ho provato il codice, ma mi sono stato poco chiaro.

    La protezione della cella quando inserisco in AX10="SI" mi va bene ma il contenuto, dovrebbe essere il valore risultante dalla formula predefinita in "AT10" (esempio = 1.050,00).

    Immagino inserendo la formula predefinita di AT10 in " " del codice inviato, ma non so come.

    Dopodiche inserendo in AX10="NO" togliere la protezione inserita e ripristinare la modificabilità e la formula predefinita, questo per tutte le righe del DB (dalla riga 10:2000).

    Grazie, se possibile dell'aiuto.

    Dario

    PS. non conosco vba, anche se mi voglio impegnare a capire.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-02-04T15:09:09+00:00

    Ciao AndyCap64, ringrazio del tuo interessamento.

    E si, la cella AX10 con convalida elenco "SI, NO" pilota  la riga n.10 con formattazione e la cella idi mio interesse AT10 dovrebbe avere le caratteristiche su indicate nella richiesta.

    Successivamente anche la cella AX11 dovrebbe essere pilotata da AT11 e per le successive.

    In AX10=SE(E10="";"";AQ10), intestazione colonna Prezzo U.tà

    e

    AQ10=SE(AR10<>"";AR10;SE(AS10<>"";AS10/AC10;SE(E10="";"";SOMMA(AD10:AK10))))

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-02-04T10:40:22+00:00

    Buon giorno,

    non conoscendo vba avrei bisogno di un codice per Excel 2003 in grado di effettuare le seguenti azioni :

    1) Fissare (AT10=formula) ovvero rendere il valore non più modificabile sia al variare dei riferimenti di formula, sia ad accidentali inserimenti di cella, questo codice dovrebbe fissare come detto, la cella (AT10) a condizione che nella cella (AX10="SI") e cosi via per tutte le righe successive del database.

    1. Quando il valore nella cella (AX10="NO") la formula iniziale contenuta in (AT10) si comporti normalmente e se prima (AT10) risultasse gia fissata dall'azione numero 1) precedente, il codice dovrebbe riportare alle condizioni iniziali la cella, rendere attiva la funzione contenuta e anche le eventuali modifiche del contenuto.

    Un grosso grazie a chi mi può aiutare.

    Dario (dpg70)

    Ciao Dario,

    non sono riuscito a capire se la cella AX10 pilota solamente la riga corrente, 10 appunto, o tutte le righe presenti nel db.

    Potresti, inoltre, incollare la formula contenuta nella cella AT10.

    Andrea.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2014-02-04T09:41:48+00:00

    Buon giorno,

    non conoscendo vba avrei bisogno di un codice per Excel 2003 in grado di effettuare le seguenti azioni :

    <cut>

    Nel modulo di codice del foglio dove vuoi questa cosa, prova:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

        With Me

            If UCase(.Range("AX10").Value) = UCase("SI") Then

                .Range("AT10").Value = "Quello che vuoi tu se AX10 è uguale a si"

            Else

                 .Range("AT10").Value = "Quello che vuoi tu se AX10 è uguale a no"

            End If

        End With

    End Sub

    Una soluzione alternativa è proteggere quell'unica cella.

    La risposta è stata utile?

    0 commenti Nessun commento