Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Prova la macro così modificata (su una copia del file ovviamente! ;-) )
Public Sub m()
On Error GoTo RigaErrore
Dim sPathNome As String
Dim wkMe As Workbook
Dim wk As Workbook
Dim sh As Worksheet
Dim shMe As Worksheet
Dim rng As Range
Dim lRiga As Long
'<--- nuove dichiarazioni --->
Dim newlRiga As Long
Dim c As Range
sPathNome = Application.GetOpenFilename( _
"Excel Files (*.xls; *.xlsx; *.xlsm),*.xls; *xlsx; *.xlsm", _
, "Selezionare il file")
Application.ScreenUpdating = False
Set wkMe = ThisWorkbook
Set shMe = wkMe.Worksheets("Foglio1")
Set wk = Workbooks.Open(sPathNome)
Set sh = wk.Worksheets("Foglio1")
Set rng = sh.Range("A1").CurrentRegion
rng.Copy
With shMe
lRiga = .Range("A" & .Rows.Count).End(xlUp).Row + 1
.Range("A" & lRiga).PasteSpecial
Application.CutCopyMode = False
'<--- inizio nuove righe codice --->
newlRiga = .Range("A" & .Rows.Count).End(xlUp).Row
For Each c In .Range("U" & lRiga & ":U" & newlRiga)
If IsNumeric(c) Then
c.Value = -c.Value
End If
Next c
'<--- fine nuove righe codice --->
End With
wk.Close
Application.ScreenUpdating = True
RigaChiusura:
Set wkMe = Nothing
Set shMe = Nothing
Set wk = Nothing
Set sh = Nothing
Set rng = Nothing
Exit Sub
RigaErrore:
If Err.Number <> 1004 Then
MsgBox Err.Number & vbNewLine & Err.Description
End If
Resume RigaChiusura
End Sub