Memorizzare formula nella cella

Anonimo
2011-09-28T08:57:50+00:00

Scusate della banale domanda ma per me che sono un neofita di excel è un problema

Ho un foglio excel con dati numerici e testo in un certa area del foglio ci sono delle delle celle vuote  in sequenza tipo:

C2 D2 E2 F2 G2 H2

             E3 F3 G3 H3

                   F4 G4 H4

nelle quali vorrei inserire delle formule o funzioni, vi prego non suggeritemi VBA non saprei come fare, come nell'esempio di seguito:

10 13 16 19 21 24 (in questa riga inserendo nella cella E2 il valore 16 le celle adiacenti devono variare di +/-  3 unità)

            50 55 60 65 (in questa riga inserendo nella cella H3 il valore 65 le celle adiacenti devono variare di +/-  5 unità)

                  31 40 49 (stesso criterio degli altri esempi +/- 9...............................)

            Grazie per il vs. aiuto.

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

Risposta accettata dall'autore della domanda

Anonimo
2011-10-03T08:42:39+00:00

...............sono sempre in attesa di una utile soluzione per il mio quesito ........e rinnovo la richiesta del vs. aiuto, sempre, compatibilmente con le vs. esigenze ........non lasciatemi a metà strada.....grazie a tutti voi, piero.f.

La cosa non è ne semplice, ne molto chiara. E' mia intenzione, se nessuno lo fa prima, riprenderla appena ho un po' di tempo(rispondere ai forum *non è* il mio lavoro). Grazie per la pazienza.

La risposta è stata utile?

0 commenti Nessun commento

19 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2011-09-28T16:05:34+00:00

     

     

    o questo

    https://skydrive.live.com/view.aspx?cid=20E0FF0AE1ABE4BE&resid=20E0FF0AE1ABE4BE%21197

    bho non ci capisco niente se vai su sky drive il file di excel con il foglio di lavoro di esempio si chiama: PER SITO MICROSOFT

     

    ...a nel fattempo avete inserito delle risposte, grazie ora vedo di capirci qualcosa

     

     

     

    File scaricato. Ora, prendiamo in considerazione le celle E16:I19. Se modifico un valore di quelle celle, dove trovo il valore da sottrarre/aggiungere? Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2011-09-28T15:57:02+00:00

     

     

    .......................................................................................

    Ti ricordo che in una cella possiamo avere o un valore, o la formula, non entrambi e che le formule non possono fare riferimento alle celle che le contengono. Da quello che capisco, se vuoi inserire in una cella compresa fra C2:H2 un valore ed avere incrementi/decrementi nelle celle a fianco, l'unico sistema è utilizzare il vba. La cosa è semplice, in quanto inserito il codice al posto giusto(siamo qui apposta), automaticamente ottieni quello che vuoi. Se vuoi, proviamo.

    Se è proprio necessario, proviamo solo che vorrei farti vedere in originale le righe del foglio di lavoro dove applicarlo,

    Provando a caricarlo nell'area pubblica di SKY-DRIVE non riesco a creare il collegamento  ho questo risultato

    "https://r.office.microsoft.com/r/rlidExcelEmbed?su=2369173826197775550&Fi=SD20E0FF0AE1ABE4BE!197&kip=1&wdAllowInteractivity=False"></iframe>

    o questo

    https://skydrive.live.com/view.aspx?cid=20E0FF0AE1ABE4BE&resid=20E0FF0AE1ABE4BE%21197

    bho non ci capisco niente se vai su sky drive il file di excel con il foglio di lavoro di esempio si chiama: PER SITO MICROSOFT

    ...a nel fattempo avete inserito delle risposte, grazie ora vedo di capirci qualcosa

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2011-09-28T15:42:45+00:00

    Vediamo se ho capito

    tu vorresti che, "abracadabra", inserendo in una cella qualsiasi del foglio un valore, in automatico vengano compilate le celle adiacenti? E tutto questo sapendo solo il valore di incremento/decremento.

    Credo, per la mia scarsa conoscenza di Excel, che senza macro (quindi VBA) la cosa non si possa fare. Con VBA la cosa sarebbe fattibile a patto che tu riesca a comunicare con il programma (inputbox) quant'è il valore di variazione (a meno che non si riesca a leggere da qualche parte) e quante sono le celle in cui scrivere la variazione a destra e sinistra di quella in cui hai inserito il valore.

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2011-09-28T15:37:49+00:00

    Grazie Mauro per la risposta,

    se non mi è sfuggito qualcosa, anche questa soluzione, se ho ben capito, necessità che prima sia a conoscenza della cella di partenza (E2) in cui andrò a scrivere il valore (10) e, quindi  successivamente impostare la funzione nelle celle adiacenti.

    Insomma non si può creare a priori la funzione in modo che inserendo il valore (10) mi inserisca in automatico nelle celle adiacenti  la sequenza da me richiesta:

     

    4  7  10  13  16.............Grazie Piero.f.

     

     

    Senza ricorrere al vba, no. Prova così.

    1. Apri Excel
    2. ALT+F11(premili assieme) e sei nell'editor del vb di Excel
    3. E no, niente paura, ti tengo per mano... ;-)
    4. Individua la finestra: Progetto-VBAProject
    5. Fai doppio click su Foglio1(Foglio1)
    6. Nel foglio bianco(modulo) copia/incolla questo:

    Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo RigaErrore

        Dim rng As Range

        Dim lng As Long

        If Target.Cells.Count > 1 Then Exit Sub

        Set rng = Me.Range("C" & Target.Row & ":H" & Target.Row)

        If Target.Value = "" Then

            rng.Value = ""

            Exit Sub

        End If

        If Me.Range("O" & Target.Row).Value = "" Then

            rng.Value = ""

            Exit Sub

        End If

        Application.EnableEvents = False

        If Not Intersect(Target, rng) Is Nothing Then

                If Target.Column = 3 Then

                    For lng = 4 To 8

                        Me.Cells(Target.Row, lng).Value = _

                            Me.Cells(Target.Row, lng).Offset(0, -1).Value - _

                                Me.Range("O" & Target.Row).Value

                    Next

                ElseIf Target.Column = 8 Then

                    For lng = 7 To 3 Step -1

                        Me.Cells(Target.Row, lng).Value = _

                            Me.Cells(Target.Row, lng).Offset(0, 1).Value + _

                                Me.Range("O" & Target.Row).Value

                    Next

                Else

                    For lng = Target.Column - 1 To 3 Step -1

                        Me.Cells(Target.Row, lng).Value = _

                            Me.Cells(Target.Row, lng).Offset(0, 1).Value + _

                                Me.Range("O" & Target.Row).Value

                    Next

                    For lng = Target.Column + 1 To 8

                        Me.Cells(Target.Row, lng).Value = _

                            Me.Cells(Target.Row, lng).Offset(0, -1).Value - _

                                Me.Range("O" & Target.Row).Value

                    Next

            End If

        End If

    RigaChiusura:

        Application.EnableEvents = True

        Set rng = Nothing

        Exit Sub

    RigaErrore:

        MsgBox Err.Number & vbNewLine & Err.Description

        Resume RigaChiusura

    End Sub

    1. Premi ALT+F11 e torni in Excel lato celle
    2. Inserisci un valore in O2(è la cella che contiene, in questo esempio, il valore da sommare/sottrarre)
    3. Inserisci un numero in una cella fra C2:H2

    Fai lo stesso per O3, C3:H3. Ecc. Prova un po'. Questo è un punto di partenza.

    La risposta è stata utile?

    0 commenti Nessun commento