Добрый вечер земляки.. Знаю, что эта тема уже очень изъезжена, но помогите пожалуйста, ответа именно на этот вопрос в сети я не нашёл, из-за индивидуальных условий, искал правда больше недели.. Данные таковы:
1). Имеется 4 Столбца, в каждом из которых нереальное количество Строк почти до самого низу (4 столбца, соответственно ячеек в строке тоже 4).. 2). Нужно скрыть пустые Строки по принципу, скрывать всю Строку - если все 4 ячейки пустые, если хотя бы в одной из них что-то есть, то строчку не затрагивать.. 3). Необычное условие присутствует, и я не знаю как с этим бороться, что скрывать строчки необходимо только в том случае, если строк, в которых ни чего не написано больше одной подряд.. То есть если встречается только одна строчка подряд, в 4-ёх ячейках из которых ни чего нету, то такую строчку не скрываем, а если таких строчек подряд встречается 2 или больше - то скрываем сразу все.. Подробнее и более наглядней, чего я хотел объяснить показываю на приведённом скриншоте, рабочего файла увы пока нету..
Тут - 3 разных области, Синяя, Фиолетовая и Оранжевая.. В каждой из них и между ними присутствуют пустые места, где-то по одной ячейки на строку, где-то по 2-3-4 .... Серой заливкой я просто для дополнительной наглядности обозначил места которые могут быть пустыми, миллион разных вариантов и комбинаций, цвет текста и заливки роли ни какой не играет..
В этом примере присутствуют места, в которых Строка полностью пустая, то есть 4 ячейки и в каждой ни чего нет - это видно например на таких Строках как 7, 11, 28, 42.. Строки НАД этими строками и ПОД ними НЕ пустые (там в 1 из 4 ячеек что-то есть), соответственно строчки 7, 11, 28, 42 затрагивать не нужно.. А так же, имеется и последовательность пустых Строк, то есть 2 пустых строки подряд или больше, Которые и необходимо уже скрывать, это например Строки 17-18 и 31-32-33 (зелёным их выделил так же, просто для дополнительной наглядности).... На образце слева - то что было, справа - то что должно получиться.. То есть, если пустая Строка только одна, - пропускаем и идём искать дальше... если Две или больше подряд - вот от них и избавляемся..
В итоговом результате, хотелось бы конечно получить что-то автоматическое.. Потому что количество пустых строк или заполненных строк постоянно будет варьироваться в большую или меньшую сторону, соответственно и их местоположение тоже будет меняться.. Представляю себе такую картинку, что вбил в таблицу новые данные, и в этих 4 столбцах со строчками до самого низу всё тоже поменялось, - автоматом, исчезли и все ненужные пустые строчки (от двух и более).. Возможно я просто плохо искал ответ на этот вопрос, но по моему предварительному мнению, складывается такое впечатление, что желание Полностью Автоматизировать этот процесс сводиться потихоньку на нет.. Если не существует такой формулы, функции или что там есть в Excel я плохо извините разбираюсь, то подскажите пожалуйста тогда какой-нибудь вариант с КНопкой, с минимальными нажатиями до конечного результата..
В качестве решения этого вопроса мне бы подошёл СОВершенно любой из предложенных вариантов максимально приближённый к полной Автоматизации всего процесса.. То есть создать дополнительные Ячейки, Столбцы, Строки, всё что угодно.. В любую или каждую Ячейку я смог бы чего-нибудь дописать в начало или конец всего содержимого Ячейки.. Если это возможно, то решение одной кнопки было бы тоже просто Super: Клик - всё скрылось, Второй клик - всё вернулось обратно (второй клик не обязательно важен)..
WinXP SP-2 Excel 2003 ,, пожалуйста, выручите меня кто хорошо разбирается в этой программе, очень нужно, результат хочется видеть с максимально минимальным количеством действий вручную, а если это возможно только так, то пожалуйста по возможности Только при помощи мышки..
Добрый вечер земляки.. Знаю, что эта тема уже очень изъезжена, но помогите пожалуйста, ответа именно на этот вопрос в сети я не нашёл, из-за индивидуальных условий, искал правда больше недели.. Данные таковы:
1). Имеется 4 Столбца, в каждом из которых нереальное количество Строк почти до самого низу (4 столбца, соответственно ячеек в строке тоже 4).. 2). Нужно скрыть пустые Строки по принципу, скрывать всю Строку - если все 4 ячейки пустые, если хотя бы в одной из них что-то есть, то строчку не затрагивать.. 3). Необычное условие присутствует, и я не знаю как с этим бороться, что скрывать строчки необходимо только в том случае, если строк, в которых ни чего не написано больше одной подряд.. То есть если встречается только одна строчка подряд, в 4-ёх ячейках из которых ни чего нету, то такую строчку не скрываем, а если таких строчек подряд встречается 2 или больше - то скрываем сразу все.. Подробнее и более наглядней, чего я хотел объяснить показываю на приведённом скриншоте, рабочего файла увы пока нету..
Тут - 3 разных области, Синяя, Фиолетовая и Оранжевая.. В каждой из них и между ними присутствуют пустые места, где-то по одной ячейки на строку, где-то по 2-3-4 .... Серой заливкой я просто для дополнительной наглядности обозначил места которые могут быть пустыми, миллион разных вариантов и комбинаций, цвет текста и заливки роли ни какой не играет..
В этом примере присутствуют места, в которых Строка полностью пустая, то есть 4 ячейки и в каждой ни чего нет - это видно например на таких Строках как 7, 11, 28, 42.. Строки НАД этими строками и ПОД ними НЕ пустые (там в 1 из 4 ячеек что-то есть), соответственно строчки 7, 11, 28, 42 затрагивать не нужно.. А так же, имеется и последовательность пустых Строк, то есть 2 пустых строки подряд или больше, Которые и необходимо уже скрывать, это например Строки 17-18 и 31-32-33 (зелёным их выделил так же, просто для дополнительной наглядности).... На образце слева - то что было, справа - то что должно получиться.. То есть, если пустая Строка только одна, - пропускаем и идём искать дальше... если Две или больше подряд - вот от них и избавляемся..
В итоговом результате, хотелось бы конечно получить что-то автоматическое.. Потому что количество пустых строк или заполненных строк постоянно будет варьироваться в большую или меньшую сторону, соответственно и их местоположение тоже будет меняться.. Представляю себе такую картинку, что вбил в таблицу новые данные, и в этих 4 столбцах со строчками до самого низу всё тоже поменялось, - автоматом, исчезли и все ненужные пустые строчки (от двух и более).. Возможно я просто плохо искал ответ на этот вопрос, но по моему предварительному мнению, складывается такое впечатление, что желание Полностью Автоматизировать этот процесс сводиться потихоньку на нет.. Если не существует такой формулы, функции или что там есть в Excel я плохо извините разбираюсь, то подскажите пожалуйста тогда какой-нибудь вариант с КНопкой, с минимальными нажатиями до конечного результата..
В качестве решения этого вопроса мне бы подошёл СОВершенно любой из предложенных вариантов максимально приближённый к полной Автоматизации всего процесса.. То есть создать дополнительные Ячейки, Столбцы, Строки, всё что угодно.. В любую или каждую Ячейку я смог бы чего-нибудь дописать в начало или конец всего содержимого Ячейки.. Если это возможно, то решение одной кнопки было бы тоже просто Super: Клик - всё скрылось, Второй клик - всё вернулось обратно (второй клик не обязательно важен)..
WinXP SP-2 Excel 2003 ,, пожалуйста, выручите меня кто хорошо разбирается в этой программе, очень нужно, результат хочется видеть с максимально минимальным количеством действий вручную, а если это возможно только так, то пожалуйста по возможности Только при помощи мышки..
Макрос "Скрыть_пустые" работает со столбцами "A:D" со строки 1 до последней строки, в которой есть данные. Макрос "Показать_все" работает со всем листом.
[vba]
Код
Sub Скрыть_пустые()
Dim arr1(), arr2() As Boolean Dim lr As Long, i As Long, j As Long
For i = 1 To UBound(arr1) For j = 1 To 4 If arr1(i, j) <> "" Then arr2(i) = True Exit For End If Next j Next i
If arr2(1) = False And arr2(2) = False Then Rows(1).Hidden = True End If For i = 2 To UBound(arr2) - 1 If arr2(i) = False Then If arr2(i + 1) = False Or arr2(i - 1) = False Then Rows(i).Hidden = True End If End If Next i
Application.ScreenUpdating = True
MsgBox "Готово!", vbInformation
End Sub
[/vba]
[vba]
Код
Sub Показать_все() Rows.Hidden = False End Sub
[/vba]
Макрос "Скрыть_пустые" работает со столбцами "A:D" со строки 1 до последней строки, в которой есть данные. Макрос "Показать_все" работает со всем листом.
[vba]
Код
Sub Скрыть_пустые()
Dim arr1(), arr2() As Boolean Dim lr As Long, i As Long, j As Long
For i = 1 To UBound(arr1) For j = 1 To 4 If arr1(i, j) <> "" Then arr2(i) = True Exit For End If Next j Next i
If arr2(1) = False And arr2(2) = False Then Rows(1).Hidden = True End If For i = 2 To UBound(arr2) - 1 If arr2(i) = False Then If arr2(i + 1) = False Or arr2(i - 1) = False Then Rows(i).Hidden = True End If End If Next i
При много благодарен за скорую оперативную помощь, приношу свои извинения за столь поздний ответ.. Макросы работают так как хотелось и ожидалось, спасибо большое за то, что было нужно.. У меня в ячейках были функции =ЕСЛИ, при одном исходе они давали Ответ, а при другом пустое место, то есть Пробел.. Как оказалось, Макрос тоже воспринимает Пробел как за какие-либо данные, и строчку не скрывал, это мой косяк, " " поменял на "" и всё заработало, то есть убрал Пробел между двумя двойными кавычками там, где ИСТИНА и ЛОЖЬ..
При много благодарен за скорую оперативную помощь, приношу свои извинения за столь поздний ответ.. Макросы работают так как хотелось и ожидалось, спасибо большое за то, что было нужно.. У меня в ячейках были функции =ЕСЛИ, при одном исходе они давали Ответ, а при другом пустое место, то есть Пробел.. Как оказалось, Макрос тоже воспринимает Пробел как за какие-либо данные, и строчку не скрывал, это мой косяк, " " поменял на "" и всё заработало, то есть убрал Пробел между двумя двойными кавычками там, где ИСТИНА и ЛОЖЬ..nokeMoH