Ошибка Excel — число в этой ячейке отформатировано как текст или перед ним стоит апостроф

#ms-access #vba #ms-access-2010

#ms-access #vba #ms-access-2010

Вопрос:

Эта функция экспортирует и форматирует данные в Excel. Однако в выводе электронной таблицы некоторые ошибки в данных выделены зеленым цветом, как описано выше, поэтому я помещаю внутри функции код для устранения этого, и это не работает. Спасибо за вашу помощь.

 Function frmatEx()
    Dim FileName As String

    FileName = "C:FolderName"
    'Set xl = New Excel.Application
    Set xl = CreateObject("Excel.Application")
    Set wb = xl.Workbooks.Open(FileName)
    With wb.Sheets(1)

        .Columns("E:E").NumberFormat = "m/d/yyyy"
       .Columns("A:DA").HorizontalAlignment = xlCenter
       .Rows("BE:BE").ErrorCheckingOptions.NumberAsText = False
       .Rows("1:1").Columns.AutoFit

    End With
    wb.Save
    wb.Close True
    Set wb = Nothing

    xl.Quit
    Set xl = Nothing
End Function
  

Комментарии:

1. Какая именно часть «не работает» и как?

2. Я нигде не вижу, где ваш код должен удалять ведущую одинарную кавычку.

Ответ №1:

Я предположу, что проблема в этой строке:

 .Rows("BE:BE").ErrorCheckingOptions.NumberAsText = False
  

Параметры проверки ошибок.Свойство NumberAsText — это не свойство диапазона, а глобальная опция Excel.

Поэтому вам нужно будет сделать

 xl.ErrorCheckingOptions.NumberAsText = False
  

но, конечно, с этого момента это будет применяться ко всем файлам Excel.

Возможно, в новом вопросе покажите, как / что вы экспортируете, чтобы можно было решить основную проблему.