Я пытаюсь сделать целые столбцы ячеек абсолютными, когда ячейки находятся ниже заголовка «Vbd», и я столкнулся с такой проблемой: когда я использую один и тот же код и одни и те же данные на разных ноутбуках (один Excel 2010, а другой один - это Excel 2016), он дает другой результат. Например:
До того, как я нажал код, это было так. После нажатия на ноутбук с Excel 2010 он выдает:
Однако, когда я использовал ноутбук с Excel 2016, он дает мне идеальный вывод, который выглядит примерно так:
Дело в том, что я использовал одни и те же данные и один и тот же код для этих двух ноутбуков (я проверял несколько раз что и коды и данные одинаковы) и я очень запутался, почему вывод отличается. Ниже мой код и рабочую книгу можно найти здесь. (Dropbox)
Option Explicit
Sub testing1()
Dim i As Long
Dim LastColumn As Long
Dim sht As Worksheet
Dim rngToAbs As Range
Dim lastrow As Long
Set sht = ThisWorkbook.Sheets("Sheet1")
LastColumn = sht.Cells(1, sht.Columns.Count).End(xlToLeft).Column
lastrow = sht.Cells(sht.Rows.Count, "D").End(xlUp).Row
For i = 1 To LastColumn
With sht
If sht.Cells(1, i).Value = "Vbd" Then
Set rngToAbs = .Range(sht.Cells(2, i), sht.Cells(lastrow, i))
rngToAbs.Value = .Evaluate("=abs(" & rngToAbs.Address & ")")
End If
End With
Next
End Sub