Изменение форматирования чисел в Excel 2007

#excel #vba #excel-2007

#excel #vba #excel-2007

Вопрос:

введите описание изображения здесь

У меня есть файл Excel, который выглядит следующим образом. Как бы я изменил форматирование ячеек, чтобы оно выглядело точно так, как это делает панель функций. Вместо 3E-07 —> 0.000003

Я не хочу менять десятичные разряды, потому что я только хочу, чтобы в нем было необходимое количество десятичных разрядов, чтобы в конце не было лишних нулей. Например, поскольку наименьшие числа имеют 7 знаков после запятой, если я изменю весь столбец на семь знаков после запятой, такие числа, как 6E-05, будут иметь два дополнительных нуля (0,0000600) в конце.

Я пытаюсь сделать это в макросе, потому что нужно просмотреть много чисел. Я могу настроить цикл самостоятельно.

Ответ №1:

Чтобы исправить все столбцы, выполните следующие действия:-

  1. Нажмите на указанную символом сторону столбца (то есть левую часть A)
  2. При нажатии на этот символ будет выделен весь лист
  3. Дважды щелкните на границе между столбцом A и столбцом B.
  4. Это исправит все ваши проблемы на листе Excel

Эта проблема с форматом чисел возникает из-за размера столбца.

Чтобы исправить этот тип числового формата «0.0000600»:-

  1. выберите заголовок столбца (то есть столбец A, столбец B .. и вскоре какой столбец вам нужно отформатировать)
  2. Щелкните правой кнопкой мыши на вкладке
  3. Выберите «Формат ячейки»
  4. Нажмите на пользовательскую опцию в разделе Категория
  5. в поле Тип введите 0.0000000000

Затем это исправит вашу проблему с форматом.

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

1. привет, спасибо. я не понимал, что моя проблема связана с access, а не с Excel >.>. я предполагаю, что это требует публикации другого вопроса, связанного с access. Спасибо!

Ответ №2:

Вы отметили этот вопрос, VBAпоэтому вот два примера метода .AutoFit VBA.

Для всего листа:

     With ActiveSheet    'set this worksheet reference more defintively!
        .Cells.EntireColumn.AutoFit
    End With
  

Если у вас уже есть столбцы нужной вам ширины, вы можете протестировать первые 20 строк, чтобы увидеть, соответствует ли.Свойство TEXT отображает символ хэш-метки (например, # или Chr (35)).

     With ActiveSheet    'set this worksheet reference properly!
        With .Cells(1, 1).CurrentRegion
            For c = 1 To .Columns.Count
                For r = 1 To 20     'maybe even .Rows.Count for smaller data grids
                    If CBool(InStr(1, .Cells(r, c).Text, Chr(35), vbBinaryCompare)) Then
                        .Columns(c).EntireColumn.AutoFit
                        Exit For
                    End If
                Next r
            Next c
        End With
    End With
  

Последний определил диапазон ячеек для работы с использованием .Свойство CurrentRegion, которое расширяется от своего источника до тех пор, пока не встретит полностью пустую строку и столбец.