Я пишу макро, форматируя все нечисловые ячейки в текст перед загрузкой в базу данных. У меня есть строка, в которой я понятия не имею, в чем дело. У меня хорошие навыки VBA. Я получаю ошибку времени выполнения «424».Форматирование динамического диапазона как текст
Sub formatAllCellsAsText()
Dim wsTemp As Worksheet
Dim LastRow As Long
Dim LastColumn As Long
Dim StartCell As Range
For sht = 3 To Worksheets.Count
Set wsTemp = Sheets(sht)
Set StartCell = Range("A4")
LastRow = wsTemp.Range("A1").CurrentRegion.Rows.Count
LastColumn = wsTemp.Range("A1").CurrentRegion.Columns.Count
For Each Cell In wsTemp.Range(StartCell, wsTemp.Cells(LastRow, LastColumn)).Cells
If Not IsEmpty(Cell.Value) And IsNumeric(Cell.Value) And InStr(wsTemp.Cells(1, Cell.Column), "Client ID") <= 0 Then
Dim Temp As Double
Temp = Cell.Value
Cell.ClearContents
Cell.NumberFormat = "@"
Cell.Value = CStr(Temp)
End If
Next
Next sht
End Sub
Всегда помогает указать, какую строку выдает ошибка –
Вы должны действительно включить гласный в 'sht'. Это может иметь решающее значение. –
Кроме того, чтобы указать, какая строка вызывает ошибку, также укажите * текст * ошибки. Мы не можем всегда помнить, какой текст принадлежит числу ошибок! –