Excel. Трюки и эффекты | страница 120
Sub ThreeNullSepatator()
Selection.NumberFormat = «#,##»
End Sub
В результате выполнения данного макроса число, например, 1234 5 67 будет представлено в виде 1 234 567. Не стоит забывать, что перед запуском макроса необходимо выделить диапазон, который должен быть отформатирован.
Чтобы отформатировать какой-либо диапазон с использованием разделителя по разрядам и отображением двух знаков после запятой, можно воспользоваться следующим макросом (листинг 3.64).
Sub ChangeNumerFormatEx()
Selection.NumberFormat = «#,##0.00»
End Sub
В данном случае перед запуском макроса также необходимо выделить требуемый диапазон.
Помещение последнего символа ячейки над строкой
Рассматриваемый в данном подразделе трюк позволяет преобразовать последний символ ячейки в верхний индекс. Для этого следует применить макрос, приведенный в листинге 3.65.
Sub LastCharUp()
' Изменение расположения последнего символа ячейки
With ActiveCell.Characters(Start:=Len(Selection),
Length:=1).Font
.Superscript = True
End With
End Sub
В результате выполнения макроса можно в ячейке вместо значения, например, м3 получить значение м>3. При этом следует учитывать, что данный макрос не преобразует числовые значения (например, представление числа 72 не изменится).
Создание нестандартной рамки
Возможности программы позволяют быстро заключить в рамку выделенный диапазон, изменив при этом вид сетки. Для достижения такого эффекта достаточно применить следующий макрос (листинг 3.66).
Sub ChangeSelGrid()
' Оформление границ выделения
' Левая граница
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
' Правая граница
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
' Верхняя граница
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
' Нижняя граница
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
' Изменение сетки внутри выделения
' Вертикальные линии сетки
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With
' Горизонтальные линии сетки
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic