Я использую диапазон vlookup для применения формулы в последнем пустом столбце. он работает нормально, но если есть ошибка, он показывает пустую ячейку, ну, я не против, но, когда формула применяется снова в следующем столбце, значение перемещается в пустую ячейку предыдущего столбца, так как одна из ячеек в предыдущем столбце была пустой из-за ошибки.
Поэтому мне нужно дать значение 0 или «ошибка» вместо пробела.
Sub GET_BHAV()
Dim OpenWs As Worksheet, bhavWs As Worksheet
Dim OpenLastRow As Long, bhavLastRow As Long, x As Long
Dim bhavRng As Range
Set OpenWs = ThisWorkbook.Worksheets("Open")
Workbooks.Open "C:\Users\playt\Desktop\STACK\VANGU\cm07JAN2020bhav.csv"
Set bhavWs = Workbooks("cm07JAN2020bhav.csv").Worksheets("cm07JAN2020bhav")
bhavLastRow = bhavWs.Range("A" & Rows.Count).End(xlUp).Row
OpenLastRow = OpenWs.Range("A" & Rows.Count).End(xlUp).Row
Set bhavRng = bhavWs.Range("A2:G" & bhavLastRow)
For x = 2 To OpenLastRow
On Error Resume Next
OpenWs.Cells(x, Columns.Count).End(xlToLeft).Offset(0, 1).Value = Application.WorksheetFunction.VLookup( _
OpenWs.Range("A" & x).Value, bhavRng, 3, Flase)
Next x
End Sub