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

Вход

Регистрация

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

 

= Мир MS Excel/Пользовательская функция - изменение вида шрифта - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пользовательская функция - изменение вида шрифта (Макросы/Sub)
Пользовательская функция - изменение вида шрифта
SergVrn Дата: Суббота, 10.11.2018, 04:18 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток.

Доброе утро подскажите - как пользовательской функцией менять стиль шрифта в ячейке G9, по значению ячейки D9 ?
(Если в D9 - "1" - то стиль "таймс нью роман". Если же там другое число - то стиль "ариал".)

Сейчас действует событие листа WorkSheet Change.
Как сделать пользовательскую функцию с тем же результатом - на основе этого макроса ?

[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("D9"), Target) Is Nothing Then
        If Target.Cells.Count > 1 Then Exit Sub
        Application.EnableEvents = False

        With Range("G9")
            If Target.Value = 1 Then
                .Font.Name = "Times New Roman"
                .Value = "Times New Roman"
            Else
                .Font.Name = "Arial"
                .Value = "Arial"
            End If
        End With

        Application.EnableEvents = True
    End If
End Sub
[/vba]
К сообщению приложен файл: 1358905.xls (36.0 Kb)
 
Ответить
СообщениеДоброго времени суток.

Доброе утро подскажите - как пользовательской функцией менять стиль шрифта в ячейке G9, по значению ячейки D9 ?
(Если в D9 - "1" - то стиль "таймс нью роман". Если же там другое число - то стиль "ариал".)

Сейчас действует событие листа WorkSheet Change.
Как сделать пользовательскую функцию с тем же результатом - на основе этого макроса ?

[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("D9"), Target) Is Nothing Then
        If Target.Cells.Count > 1 Then Exit Sub
        Application.EnableEvents = False

        With Range("G9")
            If Target.Value = 1 Then
                .Font.Name = "Times New Roman"
                .Value = "Times New Roman"
            Else
                .Font.Name = "Arial"
                .Value = "Arial"
            End If
        End With

        Application.EnableEvents = True
    End If
End Sub
[/vba]

Автор - SergVrn
Дата добавления - 10.11.2018 в 04:18
Michael_S Дата: Суббота, 10.11.2018, 08:36 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация: 373 ±
Замечаний: 0% ±

Excel2016
Функции не позволяют менять шрифт. Пользовательские тоже.
 
Ответить
СообщениеФункции не позволяют менять шрифт. Пользовательские тоже.

Автор - Michael_S
Дата добавления - 10.11.2018 в 08:36
bmv98rus Дата: Суббота, 10.11.2018, 12:34 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
SergVrn, сколько раз вам нужно было написать там это
Функции не позволяют менять шрифт. Пользовательские тоже.

???? Или вы полагали что на другом форуме другой excel?

перечитал название темы все стало еще хуже
Пользовательская функция - изменение вида шрифта - вид шрифта задан дизайнером, его разработавшим. Не думаю что UDF Или какой либо макрос будет в состоянии менять этот вид :D


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Суббота, 10.11.2018, 15:23
 
Ответить
СообщениеSergVrn, сколько раз вам нужно было написать там это
Функции не позволяют менять шрифт. Пользовательские тоже.

???? Или вы полагали что на другом форуме другой excel?

перечитал название темы все стало еще хуже
Пользовательская функция - изменение вида шрифта - вид шрифта задан дизайнером, его разработавшим. Не думаю что UDF Или какой либо макрос будет в состоянии менять этот вид :D

Автор - bmv98rus
Дата добавления - 10.11.2018 в 12:34
SergVrn Дата: Пятница, 16.11.2018, 21:11 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Я имел ввиду - изменение пользовательской функцией - не какой-то другой ячейки.
А той самой ячейки, в которую пользовательская функция введена.
 
Ответить
СообщениеЯ имел ввиду - изменение пользовательской функцией - не какой-то другой ячейки.
А той самой ячейки, в которую пользовательская функция введена.

Автор - SergVrn
Дата добавления - 16.11.2018 в 21:11
StoTisteg Дата: Суббота, 17.11.2018, 20:17 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
SergVrn, ещё раз. Функции не могут менять шрифт и заливку в ячейках. UDF не работает Уроборосом, то есть не может менять ячейку, в которой находится. Ответ не изменится, даже если вопрос задать Джелену и Уокенбаху.


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеSergVrn, ещё раз. Функции не могут менять шрифт и заливку в ячейках. UDF не работает Уроборосом, то есть не может менять ячейку, в которой находится. Ответ не изменится, даже если вопрос задать Джелену и Уокенбаху.

Автор - StoTisteg
Дата добавления - 17.11.2018 в 20:17
SergVrn Дата: Понедельник, 19.11.2018, 06:23 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 87
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
StoTisteg, ясно.
 
Ответить
СообщениеStoTisteg, ясно.

Автор - SergVrn
Дата добавления - 19.11.2018 в 06:23
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пользовательская функция - изменение вида шрифта (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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