ho un piccolo problema relativo al formato celle.
inizialmente i valori inseriti erano del tipo formato celle-generale, e la macro del calcolo funziona perfettamente.
ho cambiato il formato celle in personalizzato - #.##0 e poi - tipo 0#, ma ora la macro non funziona correttamente perchè non considera i numeri del tipo 01,02,05,09, ma solo i numeri a partire da 10 in poi.
ho provato a vedere nella macro se trovavo qualche riferimento alla formattazione delle celle, ma non c'è niente.
il cambio del formato celle non è così importante, ma vorrei capire perchè lo stesso cambiamento in altre situazioni non ha modificato il calcolo come in qesto caso.
vi invio la macro che esegue delle somme:
- Codice: Seleziona tutto
Sub CALCOLA()
Call IMPORTA_dati
Application.ScreenUpdating = True 'False
Application.Calculation = xlCalculationAutomatic 'xlManual
Application.Cursor = xlWait
UR = Worksheets("Foglio1").Range("B" & Rows.Count).End(xlUp).Row 'UR conta le righe piene considerando la colonna B
UD = Worksheets("Foglio1").Range("N" & Rows.Count).End(xlUp).Row 'UD conta le righe piene considerando la colonna N
Range("P3:Q" & UD).ClearContents 'cancella il contenuto delle colonne P e Q
Range("M3:N" & UD).Copy 'copia il contenuto delle colonne M ed N
Range("P3").Select 'seleziona la cella P3
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'incolla il contenuto delle colonne M ed N nelle colonne P e Q
Application.CutCopyMode = False
Range("M3:N" & UD).ClearContents 'cancella il contenuto delle colonne M ed N
Range("A1").Select 'seleziona la cella A1
StartArr = Range("B3:K" & UR) ' << dimensionare A1:J1000
For r = 3 To UR ' << To 1000
AppoArr = Range("B" & r & ":K" & r)
Range("B" & r & ":K" & r).ClearContents
For X = 1 To 10 ' << 10 colonne da A a J
With Range("B3:K" & UR) ' << dimensionare A1:J1000
Set f = .Find(AppoArr(1, X), LookIn:=xlValues, lookat:=xlWhole)
If Not f Is Nothing Then
firstAddress = f.Address
Do
Range(f.Address).ClearContents
Set f = .FindNext(f)
Loop While Not f Is Nothing
End If
End With
Next X
For r1 = 3 To UR ' << To 1000
Cells(r1, 12) = Application.WorksheetFunction.Sum(Range("B" & r1 & ":K" & r1))
If Cells(r1, 12).Value = 0 Then Cells(r1, 12).Value = ""
Next r1
Cells(r, 13) = Application.WorksheetFunction.Min(Range("L1:L" & UR)) ' K1000
Cells(r, 14) = Application.WorksheetFunction.Max(Range("L1:L" & UR)) ' K1000
Range("L3:L" & UR).ClearContents
Range("B3:K" & UR) = StartArr ' << dimensionare A1:J1000
Next r
Range("B3:K" & UR) = StartArr ' << dimensionare A1:J1000
Range("L3:L" & UR).ClearContents
Call Confronta
Range("A1").Select
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.Cursor = xlDefault
End Sub
ciao grazie