Thanks Paul anyway.Dim ExcelApp As Application Dim FileCosti As Workbook Dim ShCosti As Worksheet Dim FileMapping As Workbook Dim ShMapping1 As Worksheet Dim ShMapping2 As Worksheet Dim FileCostiName As String Dim TOTROW, TOTAQ, TOTCC As Long Dim R, S As Integer Dim L1, L2, L3, L4 As String Dim VDC, NOME As String Rem INIZIALIZZAZIONE Rem ================ Set ExcelApp = CreateObject("excel.application") FileCostiName = "C:\COSTI AMS VITA\AAA.xlsx" Set FileCosti = ExcelApp.Workbooks.Open(FileCostiName) ExcelApp.Visible = False Set ShCosti = FileCosti.Worksheets("Feb19") Set FileMapping = ExcelApp.Workbooks.Open("C:\COSTI AMS VITA\MappingCosti.xlsx") Set ShMapping1 = FileMapping.Worksheets("AQSRC003") Set ShMapping2 = FileMapping.Worksheets("CC Costs") TOTROW = ShCosti.Cells.SpecialCells(xlCellTypeLastCell).Row TOTAQ = ShMapping1.Cells.SpecialCells(xlCellTypeLastCell).Row TOTCC = ShMapping2.Cells.SpecialCells(xlCellTypeLastCell).Row For R = 2 To TOTROW VDC = ShCosti.Cells(R, 3).Value
The last statement VDC = ShCosti.Cells(R, 3).Value assigns "Empty" value to VDC variable. I'm sure the cell contains a not empty string.
The strange thing is that with the same code used in another file, it works.
It seems that the cells of the sheet ShCosti are "protected from reading"