Марк, так Вы на ходу подмётки режете условия меняете, а потом удивляетесь недостаточной универсальности... Тут их, простите, не было. Добавьте в конце строку [vba]
Марк, так Вы на ходу подмётки режете условия меняете, а потом удивляетесь недостаточной универсальности... Тут их, простите, не было. Добавьте в конце строку [vba]
StoTisteg, как я уже говорил макрос отрабатывает все хорошо. Но есть проблема. Помимо -100% и 0% макрос удаляет формулы в других ячейках. И если я захочу потом поправить цифры, в колонке формул уже не будет. Можно как то это исправить. Ваш код прикладываю. [vba]
Код
Sub Нули()
Dim cl As Integer, i As Integer, rw As Integer
cl = Cells.Find(What:="тклонение", LookAt:=xlPart).Column rw = Cells.Find(What:="тклонение", LookAt:=xlPart).Row + 1 For i = rw To Cells(Rows.Count, cl).End(xlUp).Row If IsNumeric(Cells(i, cl).Value) Then Cells(i, cl).Value = IIf(Round(Cells(i, cl).Value, 2) = 0 Or Round(Cells(i, cl).Value, 2) = -1, "", Cells(i, cl).Value) Else: Cells(i, cl).Value = IIf(Cells(i, cl).Value = "0%" Or Cells(i, cl).Value = "-100%", "", Cells(i, cl).Value) End If Next i Columns(Cells(rw - 1, Columns.Count).End(xlToLeft).Column + 1).Delete
End Sub
[/vba]
StoTisteg, как я уже говорил макрос отрабатывает все хорошо. Но есть проблема. Помимо -100% и 0% макрос удаляет формулы в других ячейках. И если я захочу потом поправить цифры, в колонке формул уже не будет. Можно как то это исправить. Ваш код прикладываю. [vba]
Код
Sub Нули()
Dim cl As Integer, i As Integer, rw As Integer
cl = Cells.Find(What:="тклонение", LookAt:=xlPart).Column rw = Cells.Find(What:="тклонение", LookAt:=xlPart).Row + 1 For i = rw To Cells(Rows.Count, cl).End(xlUp).Row If IsNumeric(Cells(i, cl).Value) Then Cells(i, cl).Value = IIf(Round(Cells(i, cl).Value, 2) = 0 Or Round(Cells(i, cl).Value, 2) = -1, "", Cells(i, cl).Value) Else: Cells(i, cl).Value = IIf(Cells(i, cl).Value = "0%" Or Cells(i, cl).Value = "-100%", "", Cells(i, cl).Value) End If Next i Columns(Cells(rw - 1, Columns.Count).End(xlToLeft).Column + 1).Delete
В каких "других"? Он у меня перебирает всё в колонке, где в заголовке есть "тклонение", заменяет там нули и -100% на отсутствие данных и ничего, кроме первой колонки за пределами таблицы, не удаляет. А там, согласно вашему же примеру, никаких формул нет, тупо вспомогательные строковые значения. Остальное, как говорит RAN, к гадалке. То ли у Вас сильно умная таблица распространяет "" на остальные ячейки столбца, то ли ещё что, откуда мне знать? Если первое, то идею Елены с настройками не стоило пропускать мимо ух. В общем, давайте "боевой" пример, будем посмотреть.
В каких "других"? Он у меня перебирает всё в колонке, где в заголовке есть "тклонение", заменяет там нули и -100% на отсутствие данных и ничего, кроме первой колонки за пределами таблицы, не удаляет. А там, согласно вашему же примеру, никаких формул нет, тупо вспомогательные строковые значения. Остальное, как говорит RAN, к гадалке. То ли у Вас сильно умная таблица распространяет "" на остальные ячейки столбца, то ли ещё что, откуда мне знать? Если первое, то идею Елены с настройками не стоило пропускать мимо ух. В общем, давайте "боевой" пример, будем посмотреть.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
StoTisteg, согласен, мой косяк. В следующий раз буду прикладывать точную копию файла. В файле лист 1 с формулой в колонке I. На листе копия результат работы макроса. Вот мне надо, чтобы макрос не удалял формулы. Еще раз сорь.
StoTisteg, согласен, мой косяк. В следующий раз буду прикладывать точную копию файла. В файле лист 1 с формулой в колонке I. На листе копия результат работы макроса. Вот мне надо, чтобы макрос не удалял формулы. Еще раз сорь.Mark1976
Чтобы макрос формулы не удалял, а результаты их счёта удалял? Правьте формулы. Чистый, заметьте, xlsx без всяких макросов, с элементарной формулой. И чего ради было мозги парить, непонятно.
Чтобы макрос формулы не удалял, а результаты их счёта удалял? Правьте формулы. Чистый, заметьте, xlsx без всяких макросов, с элементарной формулой. И чего ради было мозги парить, непонятно.StoTisteg
Mark1976, то есть у Вас таких файлов 60 штук? Так просто вставляйте формулу макросом, я же Вас учил открывать сколько угодно файлов и делать с ними что угодно, не?
Mark1976, то есть у Вас таких файлов 60 штук? Так просто вставляйте формулу макросом, я же Вас учил открывать сколько угодно файлов и делать с ними что угодно, не?StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.