Ciao a tutti
ho bisogno di copiare in una cella il contenuto di altre già selezionate, ma sotto forma di una formula.
Per esempio, seleziono tre celle contenenti i valori numerici (non formule) 100, 200 e 300.
nella cella obiettivo vorrei introdurre la seguente formula: "=100+200+300" in modo che la cella mostri il totale (600) e la barra della formula mostri appunto "=100+200+300".
Ho scritto il seguente codice per mettere nel clipboard la stringa finale, che poi incollo a mano.
Sub accoda()
Dim x As Integer, num As Integer, str As String
num = Selection.Count
If num > 1 Then
str = "="
For x = 1 To num
If Selection(x).Value <> 0 Then
str = str & Selection(x).Value & "+"
End If
Next x
str = Left(str, Len(str) - 1)
Dim clipboard As New MSForms.DataObject
clipboard.SetText str
clipboard.PutInClipboard
Else
MsgBox "Devi selezionare almeno DUE celle!", vbExclamation, "errore"
End If
End Sub
ma funziona solo se seleziono celle contigue.Se seleziono (in una serie di celle in colonna, p.es. da A1 a A5) la prima (A1) e la quarta (A4) mi rende la prima (A1) e la seconda (A2).
Dove sbaglio, nella mia crassa ignoranza di excel.?
Grazie
Maurizio