Excel- как записать формулу

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
anval
Сообщения: 98
Зарегистрирован: 09 ноя 2004, 10:06

Как записать в ячейку формулу, которая копирует содержимое другой заданной ячейки вместе с форматированием (нужно сохранить формат шрифта скопированной ячейки)
Спасибо
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

Ячейка_1 - откуда мы должны скопировать значение и формат,
Ячейка_2 - куда мы должны скопировать значение и формат

Предложение следующее:
1. Ячейка_1 имеет адрес A1
2. Ячейка_2 содержит формулу =CopyFormat($A$1;1)
Public Function CopyFormat(Range_1 As Range, Pr_CopyFormat As Boolean)

If Pr_CopyFormat = True Then CopyFormat = Range_1

End Function
3. Необходимо написать макрос, который для выбранного листа, пробегает по всем ячейкам и ищет фомулу CopyFormat и копирует формат из ячейки, указанной в формуле.
anval
Сообщения: 98
Зарегистрирован: 09 ноя 2004, 10:06

Avsha,спасибо за отклик. Я не совсем точно поставила задачу - формула в ячейке сводится не к простому копированию значения и формата из конкретной ячейки, она сложнее - данные выбираются из массива через функцию "ИНДЕКС", так что явные адреса нужных ячеек не фигурируют. Значение определяется, а формат пропадает - хотелось его восстановить.
anval
Сообщения: 98
Зарегистрирован: 09 ноя 2004, 10:06

Еще один вопрос. Функция листа "Worksheet_Change" инициируется при изменении содержимого листа. Нужно выполнить некоторые действия, если изменения произошли в какой-то конкретной ячейке. Как это записать?
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

На этот вопрос уже был ответ:

forum/viewtopic.php?t=4298&highlight=worksheetchange

... я часто пользуюсь в форуме Поиск\Worksheet_Change и выйдет 10-ок сообщений по вашему запросу...
anval
Сообщения: 98
Зарегистрирован: 09 ноя 2004, 10:06

Спасибо, поняла.
Ответить