Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Pallitta,
se ho interpretato bene potrebbe essere:
' Modulo: Macro
'
Option Explicit
Public Sub CopiaParzialiInTotali()
Const cPrc$ = "CopiaParzialiInTotali"
On Error GoTo ErrH
' --- Personalizzare ---------- >
'
Const cstrParzialiPath$ = "U:\DOC\DatabaseEst"
Const cstrParzialiName$ = "Parziali.xlsm"
Const cstrParzialiSheet$ = "Foglio2"
Const cstrParzialiRange$ = "A326:F326"
Const cstrTotaliPath$ = "U:\DOC\DatabaseEst"
Const cstrTotaliName$ = "Totali.xlsm"
Const cstrTotaliSheet$ = "Foglio1"
Const cstrTotaliRange$ = "A1"
'
' ---------- Personalizzare --- <
Dim wbkSrc As Excel.Workbook
Dim wshSrc As Excel.Worksheet
Dim rngSrc As Excel.Range
Dim wbkDst As Excel.Workbook
Dim wshDst As Excel.Worksheet
Dim rngDst As Excel.Range
If MsgBox("Copia da Parziali in Totali in corso..." _
& vbNewLine & "Confermi?" _
, vbOKOnly Or vbQuestion _
, cPrc _
) <> vbOK Then Exit Sub
Set wbkSrc = GetWorkbookByName(cstrParzialiPath, cstrParzialiName)
Set wshSrc = wbkSrc.Worksheets(cstrParzialiSheet)
Set rngSrc = wshSrc.Range(cstrParzialiRange)
Set wbkDst = GetWorkbookByName(cstrTotaliPath, cstrTotaliName)
Set wshDst = wbkDst.Worksheets(cstrTotaliSheet)
Set rngDst = wshDst.Range(cstrTotaliRange)
With rngDst
Set rngDst = .Worksheet.Cells(.EntireColumn.Rows.Count _
, .Column).End(xlUp).Offset(1)
End With
rngSrc.Copy rngDst
With rngDst.Offset(0, rngSrc.Columns.Count - 1)
.Value = Abs(.Value)
End With
ExtP:
On Error Resume Next
Set rngDst = Nothing
Set wshDst = Nothing
Set wbkDst = Nothing
Set rngSrc = Nothing
Set wshSrc = Nothing
Set wbkSrc = Nothing
Exit Sub
ErrH:
With Err
MsgBox "ERRORE#" & CStr(.Number) & vbNewLine & .Description _
, vbOKOnly Or vbCritical _
, cPrc
End With
Resume ExtP
End Sub
Private Function GetWorkbookByName(ByVal WorkbookPath As String _
, ByVal WorkbookName As String _
) As Excel.Workbook
On Error Resume Next
With Application.Workbooks
Set GetWorkbookByName = .Item(WorkbookName)
If Err.Number Then Set GetWorkbookByName = .Open(WorkbookPath _
& WorkbookName)
End With
End Function