Для форматирования ячеек с использованием разделителя по разрядам можно применить такой макрос (листинг 3.63).
Листинг 3.63. Использование разделителя по разрядам
Sub ThreeNullSepatator()
Selection.NumberFormat = «#,##»
End Sub
В результате выполнения данного макроса число, например, 1234 5 67 будет представлено в виде 1 234 567. Не стоит забывать, что перед запуском макроса необходимо выделить диапазон, который должен быть отформатирован.
Чтобы отформатировать какой-либо диапазон с использованием разделителя по разрядам и отображением двух знаков после запятой, можно воспользоваться следующим макросом (листинг 3.64).
Листинг 3.64. Изменение формата
Sub ChangeNumerFormatEx()
Selection.NumberFormat = «#,##0.00»
End Sub
В данном случае перед запуском макроса также необходимо выделить требуемый диапазон.
Помещение последнего символа ячейки над строкой
Рассматриваемый в данном подразделе трюк позволяет преобразовать последний символ ячейки в верхний индекс. Для этого следует применить макрос, приведенный в листинге 3.65.
Листинг 3.65. Помещение последнего символа над строкой
Sub LastCharUp()
' Изменение расположения последнего символа ячейки
With ActiveCell.Characters(Start:=Len(Selection),
Length:=1).Font
.Superscript = True
End With
End Sub
В результате выполнения макроса можно в ячейке вместо значения, например, м3 получить значение м 3. При этом следует учитывать, что данный макрос не преобразует числовые значения (например, представление числа 72 не изменится).
Создание нестандартной рамки
Возможности программы позволяют быстро заключить в рамку выделенный диапазон, изменив при этом вид сетки. Для достижения такого эффекта достаточно применить следующий макрос (листинг 3.66).
Листинг 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
End With
End Sub
Результат применения макроса показан на рис. 3.20.
На рисунке видно, что диапазон ячеек ограничен рамкой, а сетка внутри его представлена в виде пунктирных линий.
Рис. 3.20. Рамка и сетка
Быстрая вставка фамилий должностных лиц в документ
Трюк, который мы рассмотрим в данном разделе, позволяет быстро вставить в любое место документа определенный заранее текст. Такую возможность удобно использовать, например, для вставки в документ должностей и фамилий директора и главного бухгалтера предприятия (либо других сотрудников). Подобная задача реализуется при использовании макроса, код которого приведен в листинге 3.67.
Листинг 3.67. Вставка текста в документ
Sub InsertCustomText()
' Заполнение текущей ячейки
ActiveCell = «Генеральный директор»
Selection.Font.Bold = True
' Фамилия на три столбца правее должности
Cells(ActiveCell.Row, ActiveCell.Column + 3).Select
ActiveCell.FormulaR1C1 = «А. Б. Рублев»
Selection.Font.Bold = True
' Ячейка с «Главный бухгалтер» на три столбца левее _
и на три строки ниже ячейки с фамилией директора
Cells(ActiveCell.Row + 3, ActiveCell.Column – 3).Select
ActiveCell = «Главный бухгалтер»
Selection.Font.Bold = True
' Фамилия на три столбца правее должности
Cells(ActiveCell.Row, ActiveCell.Column + 3).Select
ActiveCell = «Т. С. Копейкин»
Selection.Font.Bold = True
End Sub
После выполнения данного макроса соответствующий текст будет вставлен в том месте документа, где расположен курсор (рис. 3.21).
Рис. 3.21. Вставка текста в документ
Очевидно, что с помощью приведенного выше макроса можно вставлять в текущий документ любой произвольный текст.
Вызов окна настройки шрифта
С помощью небольшого макроса можно вызывать окно настройки параметров шрифта. Код этого макроса выглядит так (листинг 3.68).
Читать дальше
Конец ознакомительного отрывка
Купить книгу