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ì.
- Apri Excel
- ALT+F11(premili assieme) e sei nell'editor del vb di Excel
- E no, niente paura, ti tengo per mano... ;-)
- Individua la finestra: Progetto-VBAProject
- Fai doppio click su Foglio1(Foglio1)
- 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
- Premi ALT+F11 e torni in Excel lato celle
- Inserisci un valore in O2(è la cella che contiene, in questo esempio, il valore da sommare/sottrarre)
- 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.