Цитата |
---|
kuklp написал: - голуба, а ну еще раз перечитайте №3 и свой ответ на него (Чемберлену, гы). |
заменить нулевые значения на длинное тире (прочерк)
заменить нулевые значения на длинное тире (прочерк)
02.06.2016 19:26:08
с помощью функции =СИМВОЛ() Это и в макросах работает? |
|||
|
заменить нулевые значения на длинное тире (прочерк)
02.06.2016 19:13:37
|
|||
|
заменить нулевые значения на длинное тире (прочерк)
02.06.2016 17:43:05
дописал i получилось if x = 0 Then макрос выполнился, после выполнения Run-time error '13': type mismatch Результат выполнения макроса: пустые ячейки (без формул и значений) остались пустыми, а должно быть тире. ячейки в которых значение_формулы=0 были переписаны на тире, а хочется что бы там оставалась формула вида =ЕСЛИ(A1-A3=0;"-";A1-A3), где A1-A3 формула которая БЫЛА в ячейке Есть два варианта. Или в этот макрос добавить еще условие, что если в ячейке есть формула значение которой не равно нулю, заменить его на значение. Или второй вариант, даже если значение формулы равно нулю, то все равно ее менять на формулу вида =ЕСЛИ(A1-A3=0;"-";A1-A3), где A1-A3 формула которая БЫЛА в ячейке И еще интересный вопрос, можно ли применить к пустой ячейке без формул и значений ту же формулу =ЕСЛИ(A1=0;"-"), где A1 адрес самой ячейки. Хотя по идее если в ячейке введено тире, то ячейка все равно должна корректно участвовать в формуле.? |
|||
|
заменить нулевые значения на длинное тире (прочерк)
02.06.2016 17:17:39
|
|||
|
заменить нулевые значения на длинное тире (прочерк)
02.06.2016 17:14:48
Я не знаю (уже не помню) VBA и прошу помочь мне описать на VBA этот алгоритм. |
|||
|
заменить нулевые значения на длинное тире (прочерк)
02.06.2016 16:53:15
Доброго времени суток. Есть таблица, условно 200 столбцов, 200 строк. В некоторых ячейках введены формулы, с основном сумма других ячеек, как по строкам, так и по столбцам. А в некоторых ячейках вводятся данные ручками. Требуется во всех ячейках с нулевыми значениями отобразить длинное тире (прочерк). Длинное тире должно отображаться и в тех ячейках где не введены данные (пустая ячейка), и там где формула насчитала ноль.
Если возможно, то формула не должна затираться длинным тире. Алгоритм_1 1. Изменить формат ячеек на общий. (может и не нужно...) 2. Макрос проверяет пустая ячейка или нет, если непустая то преобразует формулу в значение. Если значение (введено руками) оставляет как есть. 3. Если пустая то ставит в нее длинное тире (юникод 2014). 4. проверяет не пустые ячейки, если "значение=0", то заменить на длинное тире. Макрос выполняется в выделенном диапазоне. Алгоритм_2 (не уверен в правильности) 1. Изменить формат ячеек на общий. (может и не нужно...) 3. Если ячейка не пустая, проверяет есть ли формула в ячейке, если есть, то изменить формулу на =ЕСЛИ(A1+A2=0;"-";A1+A2), где A1+A2 формула которая была в ячейке. 4. Если в ячейке нет формулы (есть значение введенное руками) проверяет "значение=0", если да, то заменить на длинное тире. !Но тут случается конфуз. Если эта ячейка участвует в формуле, формула выдаст ошибку. При этом если формула типа A1+A2 будет ошибка, если это =СУММ(B2:B15) то ошибки не будет. Что с этим сделать не знаю...! 5. Если значение не равно нулю (текст или число отличное от нуля), то оставить как есть. Помогите описать это на VBA.
Изменено: |
|
|