[exce] написать макрос: меняет цвет текста
Что, в офисе встроенную писалку отключили?
Начинаешь писать макрос - выделяешь текст, меняешь цвет/фон.., останавливаешь запись..
Идёшь в редактор макросов - смотришь, чего там записалось. По образу и подобию делается свой макрос...
В Excele.. Может как нить к тебе зайду или ты ко мне все покажеш, если у тебя есть время и желание конечно
Ой, это не ты был
Начать запись макроса:
Вводишь имя для будущего макроса
Жмёшь нужные кнопки...
(Я нажал "Сделать жирную внешнюю границу" и "Залить голубым")
Жмём "Остановить запись" (отмечена стрелкой)
идём в редактор Visual Basic (Alt-F11)..
Там находим этот макрос.. У меня он записался в PERSONAL.XLS:Module2
Там ищем Sub Макрос2 (или как ты там его назовёшь во время начала записи..)
и видишь текст:
Sub Макрос2
'
' Макрос2 Макрос
' Макрос записан 25.04.2005 ()
'
'
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
'===========================
With Selection.Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
'===========================
End Sub
Легко видеть, что тут происходит. Задаются толщины и положения линий для границ выделения (Selection - это то, что сейчас выделено на листе)
то, что между '=========================== - задаёт цвет и тип заливки.
Можешь поиграться с .Pattern
Макрос можно назначить сочетанию клавишь - например, Ctrl-Z (В момент создания)
или назначить кнопочке на панели.
например:
Сервис->Настройка.
- создаём панель для своих кнопочек. Сначала она пустая - обведена синим на след. картинке.
В настройках выбираем вкладку "Команды", в категориях - "Макросы", в командах - " Настраиваемая кнопка". Хватаем и тащим на свою панельку.
Щёлкаем правой кнопкой на нём.
Можем переназвать кнопку
Можем вставить значок для кнопки из буфера (Можем выбрать из существующего набора)
Нужно назначить макрос для кнопки
Выбрали - наслаждаемся.
Выделяем область - жмём на кнопку - она выполняет макрос.
Глядя на текст макроса можно догадаться, что меняя .ColorIndex меняем цвет заливки. Чтобы узнать о других фичах пользуемся писалкой макросов.
Например, хотим узнать как из макроса изменить размер шрифта? - Запускаем писалку, изменяем размер шрифта ручками - через кнопочки, останавливаем писалку - идём в редактор макросов и видим:
Нетрудно догадаться, что изменять нам надо только .Size
'
With Selection.Font
.Name = "Arial Cyr"
.Size = 22
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Удачи
// Прямо-таки какой-то FAQ по макросам в Excel получился
// Office 2003 Rus
ячейку (i,j) на листе k?
ActiveSheet.Cells(i,j).Value="123AAA"
На листе с именем "Мой Лист"?
ActiveWorkBook.WorkSheets(k).Cells(i,j).Value="123AAA"
в ячейке с именем "percent"?
ActiveWorkBook.WorkSheets("Мой Лист").Cells(i,j).Value="123AAA"
ActiveSheet.Range("percent").Cells(1, 1).Value = "aaa"
Имхо лучше Cells(i,j).Formula = "sdgf"
Спасибо Люблю вас... и еще если подскащете как делать что не выделяя а сразу он начал поменят цвет (при нажатии алть+f8) О будет суупеерр
А что он будет красить?
Ту, на которой стоит курсор? - так она уже выделена..
конкретную ячейку, например B12?
Запускаем писалку... выделяем B12, жмём "закрасить", останавливаем писалку.. смотрим код:
Логично?
Sub Макрос1
'
' Макрос1 Макрос
' Макрос записан 26.04.2005 ()
'
'
Range("B12").Select
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub
Range("B12").Selectselect тут лишний.
With Selection.Interior
...
проще так (и без выделения):
With Range("B12").Interior
...
Format -> Conditional formatting... (Формат - Условное форматирование)
Оставить комментарий
nikandox
Ребята помогите.. Надо написать макросб который просто читает и меняет цвет текста.. и еще некоторые мелочи.. Кто разбирается пишите мне плиизз. В долгу не останусь... Заранее спаибо