Как часть более крупного макроса, код должен проверять, начинается ли ячейка в столбце D цифрой 6. Если это так, скопируйте символы Mid 5, начиная со 2-го (по сути, пропустите 6), и еслине начинается с 6, просто скопируйте первые 5 символов слева и вставьте в соседнюю ячейку в столбце E.
Я получаю ошибку переполнения, я предполагаю, потому что документ имеет длину 700К строк.Какие-нибудь предложения относительно того, как я могу это исправить?
Sub Left_Function()
Dim sourceRang As Range, destinationRange As Range, i As Integer, LastRow As Integer
LastRow = ActiveSheet.UsedRange.Rows.Count
Set SourceRange = Sheet1.Range("D1:LastRow")
Set desinationRange = Sheet1.Range("E1:LastRow")
For i = 1 To SourceRange.Count
For Each cell In SourceRange
If Left(cell.Value, 1) = "6" Then
destinationRange(i, 1).Value = Mid(SourceRange(i, 1).Value, 2, 5)
Else: destinationRange(i, 1).Value = Left(SourceRange(i, 1).Value, 5)
End If
Next cell
Next i
End Sub
Я не очень хорош в VBA, так что это довольно патч-работа, основанная на вещах, которые я погуглил, так что если у вас есть альтернативный фрагмент кодатогда у меня все уши.