Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос на изменение размера шрифта - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Макрос на изменение размера шрифта
Dion Дата: Воскресенье, 11.10.2020, 00:26 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Добрый день!
Возникла задача: необходимо, чтобы при отсутствии данных
в ячейках P8, P11, P14, P17
в ячейках N8, N11, N14, N17 шрифт менялся с 14 на 18, а
в ячейках Q8, Q11, Q14, Q17 шрифт менялся с 24 на 28.
В теории это легко можно было бы сделать условным форматированием, но такая возможность отсутствует в Excel.
Прошу подсказать как это реализовать макросом в обе стороны, то есть, когда есть данные шрифт 14 и 24, когда нет, то 18 и 28.
К сообщению приложен файл: 7366963.xls (28.0 Kb)
 
Ответить
СообщениеДобрый день!
Возникла задача: необходимо, чтобы при отсутствии данных
в ячейках P8, P11, P14, P17
в ячейках N8, N11, N14, N17 шрифт менялся с 14 на 18, а
в ячейках Q8, Q11, Q14, Q17 шрифт менялся с 24 на 28.
В теории это легко можно было бы сделать условным форматированием, но такая возможность отсутствует в Excel.
Прошу подсказать как это реализовать макросом в обе стороны, то есть, когда есть данные шрифт 14 и 24, когда нет, то 18 и 28.

Автор - Dion
Дата добавления - 11.10.2020 в 00:26
Pelena Дата: Воскресенье, 11.10.2020, 09:02 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
В модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("P8, P11, P14, P17")) Is Nothing Then Exit Sub
    If Target = "" Then
        Target.Offset(, 1).Font.Size = 28
        Target.Offset(, -2).Font.Size = 18
    Else
        Target.Offset(, 1).Font.Size = 24
        Target.Offset(, -2).Font.Size = 14
    End If
End Sub
[/vba]
========
Добавлено
Кстати, условным форматированием тоже можно. Для этого достаточно открыть файл в OpenOffice, задать правила и сохранить. Там есть возможность форматировать шрифт. См. файл
К сообщению приложен файл: 7366963_2.xls (28.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
В модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("P8, P11, P14, P17")) Is Nothing Then Exit Sub
    If Target = "" Then
        Target.Offset(, 1).Font.Size = 28
        Target.Offset(, -2).Font.Size = 18
    Else
        Target.Offset(, 1).Font.Size = 24
        Target.Offset(, -2).Font.Size = 14
    End If
End Sub
[/vba]
========
Добавлено
Кстати, условным форматированием тоже можно. Для этого достаточно открыть файл в OpenOffice, задать правила и сохранить. Там есть возможность форматировать шрифт. См. файл

Автор - Pelena
Дата добавления - 11.10.2020 в 09:02
Dion Дата: Воскресенье, 11.10.2020, 16:13 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Pelena, большое спасибо! Ваши навыки работы в Excel поражают, но можете пояснить менее опытному пользователю:
1. Не совсем понял, куда вставлять, в какой модуль? Это макрос? Если не трудно, приложите готовый файл уже со вставкой.
2. По форматированию в OpenOffice тоже вопрос: открыл все правила на листе, там их всего два (см. вложение). Проверяется только ячейка P8, а по какому принципу меняется шрифт в других ячейках, если , P11, P14, P17 не проверяется?
К сообщению приложен файл: 0966383.png (70.3 Kb)
 
Ответить
СообщениеPelena, большое спасибо! Ваши навыки работы в Excel поражают, но можете пояснить менее опытному пользователю:
1. Не совсем понял, куда вставлять, в какой модуль? Это макрос? Если не трудно, приложите готовый файл уже со вставкой.
2. По форматированию в OpenOffice тоже вопрос: открыл все правила на листе, там их всего два (см. вложение). Проверяется только ячейка P8, а по какому принципу меняется шрифт в других ячейках, если , P11, P14, P17 не проверяется?

Автор - Dion
Дата добавления - 11.10.2020 в 16:13
Pelena Дата: Воскресенье, 11.10.2020, 17:35 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
1. Правой кнопкой мыши по ярлычку листа -- Посмотреть код. Приложила файл
2. Правила два, но применяются они к четырём ячейкам каждое (см. поле Применяется к). А так как ссылка $P8 смешанная, строка не закреплена, то столбец Р проверяется по своей строке, т.е. $P8, $P11, $P14 и $P17
К сообщению приложен файл: 7525587.xls (33.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение1. Правой кнопкой мыши по ярлычку листа -- Посмотреть код. Приложила файл
2. Правила два, но применяются они к четырём ячейкам каждое (см. поле Применяется к). А так как ссылка $P8 смешанная, строка не закреплена, то столбец Р проверяется по своей строке, т.е. $P8, $P11, $P14 и $P17

Автор - Pelena
Дата добавления - 11.10.2020 в 17:35
Dion Дата: Воскресенье, 11.10.2020, 19:22 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Pelena, Огромное спасибо, вы очень помогли.
 
Ответить
СообщениеPelena, Огромное спасибо, вы очень помогли.

Автор - Dion
Дата добавления - 11.10.2020 в 19:22
Dion Дата: Четверг, 15.10.2020, 23:43 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
В модуль листа


Извините, что приходится поднимать старую тему, но возникла проблема: если
в ячейках P8, P11, P14, P17 отсутствуют данные, то код работает отлично, но когда
в ячейках W8, W11, W14, W17 прописаны формулы =ЕСЛИ(AC11="";"";AC11), то код не реагирует, хотя, по идее, это то же самое. Например, в ячейке AC11 нет данных, ячейка W11 проверяет это значение, но шрифт в U11 и X11 не меняется.
Можно его как-то подкорректировать или задача невыполнима?
К сообщению приложен файл: 8644733.xls (36.0 Kb)
 
Ответить
Сообщение
В модуль листа


Извините, что приходится поднимать старую тему, но возникла проблема: если
в ячейках P8, P11, P14, P17 отсутствуют данные, то код работает отлично, но когда
в ячейках W8, W11, W14, W17 прописаны формулы =ЕСЛИ(AC11="";"";AC11), то код не реагирует, хотя, по идее, это то же самое. Например, в ячейке AC11 нет данных, ячейка W11 проверяет это значение, но шрифт в U11 и X11 не меняется.
Можно его как-то подкорректировать или задача невыполнима?

Автор - Dion
Дата добавления - 15.10.2020 в 23:43
Pelena Дата: Пятница, 16.10.2020, 09:19 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
это то же самое
не совсем. Макрос срабатывает при изменении ячейки, а не при пересчете, поэтому в Вашей новой ситуации нужно проверять изменение ячеек AC8, AC11, AC14, AC17, а не W8, W11, W14, W17


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
это то же самое
не совсем. Макрос срабатывает при изменении ячейки, а не при пересчете, поэтому в Вашей новой ситуации нужно проверять изменение ячеек AC8, AC11, AC14, AC17, а не W8, W11, W14, W17

Автор - Pelena
Дата добавления - 16.10.2020 в 09:19
Dion Дата: Пятница, 16.10.2020, 14:19 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 110
Репутация: 0 ±
Замечаний: 20% ±

Excel 2016
Pelena, большое спасибо, вы опять мне помогли.
 
Ответить
СообщениеPelena, большое спасибо, вы опять мне помогли.

Автор - Dion
Дата добавления - 16.10.2020 в 14:19
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!