#excel #vba #excel-2007
#excel #vba #excel-2007
Вопрос:
У меня есть файл Excel, который выглядит следующим образом. Как бы я изменил форматирование ячеек, чтобы оно выглядело точно так, как это делает панель функций. Вместо 3E-07
—> 0.000003
Я не хочу менять десятичные разряды, потому что я только хочу, чтобы в нем было необходимое количество десятичных разрядов, чтобы в конце не было лишних нулей. Например, поскольку наименьшие числа имеют 7 знаков после запятой, если я изменю весь столбец на семь знаков после запятой, такие числа, как 6E-05, будут иметь два дополнительных нуля (0,0000600) в конце.
Я пытаюсь сделать это в макросе, потому что нужно просмотреть много чисел. Я могу настроить цикл самостоятельно.
Ответ №1:
Чтобы исправить все столбцы, выполните следующие действия:-
- Нажмите на указанную символом сторону столбца (то есть левую часть A)
- При нажатии на этот символ будет выделен весь лист
- Дважды щелкните на границе между столбцом A и столбцом B.
- Это исправит все ваши проблемы на листе Excel
Эта проблема с форматом чисел возникает из-за размера столбца.
Чтобы исправить этот тип числового формата «0.0000600»:-
- выберите заголовок столбца (то есть столбец A, столбец B .. и вскоре какой столбец вам нужно отформатировать)
- Щелкните правой кнопкой мыши на вкладке
- Выберите «Формат ячейки»
- Нажмите на пользовательскую опцию в разделе Категория
- в поле Тип введите 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, которое расширяется от своего источника до тех пор, пока не встретит полностью пустую строку и столбец.