2012-02-10 2 views
0

Мой код ниже, строка, которая дает ошибку, тип несоответствия, ошибка времени выполнения 13 - это строка внутри цикла for. Почему это происходит и как я могу избежать этого?Использование VBA Runtime error 13 'type mismatch' при присвоении измененного значения ячейки обратно в ячейку

Workbooks(theFile).Worksheets(1).Columns("G:G").EntireColumn.NumberFormat = "0.00" 

For Each myCell In Columns("G:G") 
    myCell.Value = WorksheetFunction.Trim(WorksheetFunction.Clean(myCell.Value)) 
Next 
+1

рассогласования обычно означает, что типы данных не совпадают. Вы делаете это по тексту или цифрам? – Raystafarian

+0

Номера. Является чистым, непригодным для использования по номерам, или обрезать ???? – Brian

+0

'Чистые()' и 'Trim()' оба работают с числами. Формат вашего номера определяется как «0,00», поэтому любое число, которое не в этом формате, приведет к ошибке несоответствия, я думаю, – Raystafarian

ответ

2

Вероятно, что-то вроде

For Each myCell In Columns("A:A").Cells 
    myCell.Value = WorksheetFunction.Trim(myCell.Value) 
Next 
+0

Ему нужны были .Cells Спасибо – Brian

Смежные вопросы