Страницы: 1
RSS
Макрос форматирования ячейки удаляет формулу
 
Не знаете, в чем может быть причина и как мне решить эту проблему?
Вот этот код Макроса, если вставить в VBA, то код срабатывает, но формула перестаёт работать.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A8") = Range("A8")
Range("A8").Characters(4, 1).Font.Italic = True
Range("A8").Characters(4, 1).Font.Underline = True
Range("A8").Characters(9, 10).Font.Italic = True
Range("A8").Characters(9, 10).Font.Underline = True
Range("A8").Characters(23, 2).Font.Italic = True
Range("A8").Characters(23, 2).Font.Underline = True
End Sub
Изменено: Ибрагим Белхороев - 26.07.2021 09:18:22
 
Во-первых код оформите как положено с использованием <...> (или уберите его из текста сообщения в файл).
Во-вторых не возможно выделить часть текста курсивом или сделать подчеркнутым если в ячейке стоит формула.
 
Ибрагим Белхороев,нужно формулу переносить тогда в  VBA)
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, я переносил, но формула потом не работает.
 
Ибрагим Белхороев, результат работы формулы "текст", который принимает ячейка как значение
в первой же строке кода:
Код
Range("A8") = Range("A8")

Вы переписываете содержимое ячейки, т.е. вместо формулы записываете обычный текст

самый простой вариант, без особых манипуляций с кодом, перенесите формулу в ячейку А7, скройте любым подходящим для Вас способом, а в коде записывайте из нее результат для дальнейшей обработки

Код
Range("A8") = Range("A7")
 
Код
  Range("A8") = " № 4 от " & Format(Now, "[$-FC22]DD MMMM YYYY " & "года")

И дальше делайте нужное форматирование
 
Цитата
Ибрагим Белхороев написал:
то код срабатывает, но формула перестаёт работать.
Вся проблема в том, что в течение нескольких дней, и нескольких тем на форуме, вы с завидным упрямством  не хотите понять, что при наличии в ячейке формулы, форматирование отдельных значений ячейки  НЕ ВОЗМОЖНО!
 
Kuzmich, спасибо вам.
 
Цитата
Mershik написал:
нужно формулу переносить тогда в  VBA)
Цитата
Ибрагим Белхороев написал:
я переносил, но формула потом не работает.
Цитата
Kuzmich написал:
Range("A8") = " № 4 от " & Format(Now, "[$-FC22]DD MMMM YYYY " & "года")
:D  
Не бойтесь совершенства. Вам его не достичь.
 
Kuzmich, а как этот код отредактировать, чтобы получалось в этом виде"№ 4 от 31 марта 20 21 г."?
 
Цитата
Kuzmich написал:
 Range("A8") = " № 4 от " & Format(Now, "[$-FC22]DD MMMM YYYY " & "года")
Имеется в виду этот код.
 
Код
Range("A8") = " № 4 от " & Format(Now, "[$-FC22]DD MMMM 20 YY  " & "года")
 
Kuzmich, а как сделать, чтобы был последний день месяца?
Изменено: Ибрагим Белхороев - 04.03.2021 15:19:33
 
Цитата
чтобы был последний день месяца
Какой даты?
 
Kuzmich, ну вот щас март, что было так " № 4 от 31 марта 20 21 г." в следующем месяце соответственно "№ 4 от 30 апреля 20 21 г."
 
 
Код
Range("A8") = " № 4 от " & Format(DateSerial(Year(Now), Month(Now) + 1, 1) - 1, "[$-FC22]DD MMMM 20 YY  " & "года")
 
Kuzmich, спасибо большое, всегда выручаешь.
Страницы: 1
Наверх