Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao mauro, grazie del codice, ho apportato qualche modifica per mie esigenze:
<cut>
Non sapendo mettere le mani sul tuo codice ho creato due macro a parte, con la prima effettuo un controllo se la colonna "TOTALE" già esiste la cancella e poi prosegue con somme (altrimenti se per sbaglio lancio due o più volte mi ritrovo con diverse colonne "TOTALE" ripetute), la seconda riporta i valori al posto delle formule (preferisco avere direttamente il risultato nellacolonna "TOTALE") e togli gli zero di troppo, dove alla colonna A la cella è vuota.
Grazie ancora per l'aiuto e buona Domenica.
Ciao
Antonio
Forse, più semplicemente:
Public Sub m()
Dim shTot As Worksheet
Dim lCol As Long
Dim lRiga As Long
Dim s As String
Application.ScreenUpdating = False
Set shTot = Worksheets("Totale")
With shTot
.Select
lCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
If .Cells(1, lCol).Value = "Totale" Then Exit Sub '<<<<<<========== Se serve solo impedire una nuova colonna
lRiga = .Range("E" & .Rows.Count).End(xlUp).Row
.Cells(1, lCol + 1).Value = "Totale"
With .Cells(2, lCol + 1)
.Select
s = "=SUM(E2:" & f(lCol) & 2 & ")"
.Value = s
Selection.AutoFill Destination:=Range(f(lCol + 1) & _
"2:" & f(lCol + 1) & lRiga), Type:=xlFillDefault
End With
.Range(f(lCol + 1) & _
"2:" & f(lCol + 1) & lRiga).Value = _
.Range(f(lCol + 1) & _
"2:" & f(lCol + 1) & lRiga).Value
End With
Application.ScreenUpdating = True
Set shTot = Nothing
End Sub
Public Function f(ByVal lng As Long) As String
f = Split(Cells(1, lng).Address( _
True, False, xlA1, False), "$")(0)
End Function
Public Sub mm()
Dim s As String
s = "Nome etichetta foglio:" & ActiveSheet.Name _
& vbNewLine & "Nome codice: " & ActiveSheet.CodeName
MsgBox s
End Sub
--
La soluzione, il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità per eventuali problemi causati dalla soluzione proposta se usata impropriamente. Create e utilizzate una copia del file per le vostre prove, *prima* di utilizzare la soluzione in files importanti.
--
Mauro Gamberini - Microsoft© MVP(Excel)