Возможно ли в незаполненных ячейках видеть определенный символ?

Автор Shahtynec, 30 апреля 2015, 08:43

0 Пользователи и 1 гость просматривают эту тему.

Shahtynec

Нужна буква "в" в незаполненных ячейках диапазона. Цвет с помощью условного форматирования могу задать, а вот символ реально ли?

rami

Думаю, что нет. Если в пустую ячейку вставить какое-нибудь значение, то она перестанет быть пустой.
Применить формат к пустому значению ячейки нельзя.

kompilainenn

2rami: так ему я так понимаю нужна формула для заполнения пустых ячеек в диапазоне буквой "В" и последующее условное форматирование этих ячеек
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

rami

Цитата: kompilainenn от 30 апреля 2015, 08:20так ему я так понимаю нужна формула для заполнения пустых ячеек в диапазоне буквой "В" и последующее условное форматирование этих ячеек
Формулами это не сделать. Можно только макросом получить все пустые ячейки диапазона и заполнить их, после чего они перестанут быть пустые и условное форматирование для пустой ячейки потеряет смысл. Впрочем, можно изменить условие форматирования с "пусто" на "=В".

Shahtynec

Да я это и сам понимаю, что глупо прописывать "если пусто то в". Ячейка станет сразу не пустой. Потом при заполнении ячеек формулы слетят. А хотелось бы чтоб при очистке снова появилась буква. Что формулой это сделать нереально - это понятно. А в макросах я не силен. Да и скорее всего это тоже нереально..

rami

Цитата: Shahtynec от 30 апреля 2015, 10:52А хотелось бы чтоб при очистке снова появилась буква.
Для чего это надо? Какой в этом смысл?
Цитата: Shahtynec от 30 апреля 2015, 10:52Да и скорее всего это тоже нереально..
Это не только реально, но и не так уж сложно, см. пример:

Shahtynec

это табель. когда не 11 часов, не отпуск, не больничный - то выходной. смены по графику 2 через 2, но больничный и отпуск нужно заполнять и в выходные. Поэтому парюсь каждый раз расставлять вэшки.
Что-то не заполняет макрос пустые ячейки

rami

Цитата: Shahtynec от 30 апреля 2015, 21:23Что-то не заполняет макрос пустые ячейки
В моём документе должно работать, если не запрещено выполнять макросы.
А если вы скопировали макрос в ваш документ, то надо назначить ему событие.

Shahtynec

Не работает, когда очищаю ячейки. А какое событие у Вас прописано?

rami

В OpenOffice это не работает потому, что специально отключен поиск пустых ячеек.
Если можно используйте LibreOffice. Если всё-таки нужен OpenOffice придётся сделать другими методами.
Если можно приложите документ, посмотрю что можно.

rami

Для OpenOffice подойдёт такой макрос:
Sub Main   Dim oRange, d(), i%, j%
oRange=ThisComponent.CurrentController.ActiveSheet.getCellRangeByName("A1:F44")
d=oRange.DataArray
For i=0 To UBound(d)
For j=0 To UBound(d(0)
If d(i)(j)="" Then d(i)(j)="В"
Next
Next
oRange.setDataArray(d)
End Sub

Удалите предыдущий макрос и на его место вставьте этот.

Shahtynec


Shahtynec

Не пойму, как запускается этот макрос. Дома все работает. На работе вписал все руками - срабатывает, если принудительно запустить макрос, а вот сам по себе не заполняет ячейки. В безопасности макросы разрешены. Тоже самое происходит дома, если макрос добавлять в новую книгу.
На работе нет возможности использовать интернет, USB, и другой софт.

rami

Щёлкните по ярлычку листа и в выпадающем меню выберите "События листа..." , в открывшимся окне назначьте нужный макрос событию "Содержимое изменено"
Заодно скорректируйте диапазон в макросе ("A1:F44") чтобы он соответствовал нужному диапазону в документе.

Shahtynec