powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нумерация строк в автофильтре (Excel 2003)
12 сообщений из 12, страница 1 из 1
Нумерация строк в автофильтре (Excel 2003)
    #37342435
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Excel 2003.
Есть отчёт в Excelе, где в 1-столбце указаны номера строк. В этом отчёте есть автофильтр. Когда я фильтрую данные, то разумеется номера строк не всегда начинаются с числа 1, да и они не по порядку идут.
Как сделать так, чтобы при фильтре данных номера строк всегда шли по порядку (от 1 до n)?

Пробовал формулу написать, что-то вроде этого:
Код: plaintext
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ( 104 ;A$ 2 :A2)+ 1 
Здесь вместо 104 пробовал разные варианты (4, 1, 101 и т.д.). Ожидаемый результат не получился. Наверное здесь без VBA не обойтись.
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37342445
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал такой вариант.
Создал такую VBA функцию:
Код: plaintext
1.
2.
Function HiddenRow(intRow As Integer) As Boolean
    HiddenRow = Rows(intRow).Hidden
End Function

Затем в файле Excel добавил скрытый столбец, где написал такую формулу
Код: plaintext
=HiddenRow(СТРОКА(A2))
Это формула 1-строки отчёта сразу после "шапки". У меня данные начинаются со 2 строки. Когда я формулу копирую, то разумеется Excel номер строк (после буквы "A") меняет автоматически.
После этого там где идут нумерация строк написал такую формулу:
Код: plaintext
=СЧЁТЕСЛИ(F$ 2 :F2;ЛОЖЬ)
Здесь "F" скрытый столбец, где написана вышеуказанная формула.
В принципе теперь работает так, как задумано. Вот только "танцы с бубнами" не очень то нравится (в смысле лишний столбец хоть и скрытый).

А может есть вариант попроще?
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37342452
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удивительный факт: если в скрытом столбце вместо формулы =HiddenRow(СТРОКА(A2)) написать так =HiddenRow(СТРОКА()) (по идее одно и тоже!), то работает не совсем корректно. Если после фильтра данных 1-строка отображается, то всё нормально. А если данные отображаются начиная с n-строки, то нумерация строк умножается на n. Почему так пока не разобрался.
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37342626
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажи, а зачем это нужно?
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37342687
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodorСкажи, а зачем это нужно?

В смысле зачем нумеровать начиная 1? Ну так юзеры так требуют. Дело в том, что отчёт распечатывают фильтруя данных: часть данных отправляют в 1 организацию, а другую часть в другую организацию. Ну и в конце общие не фильтрованные данные в головной офис.
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37342724
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
studieren,
В таком случае предложу сделать свою кнопку с надписью "печать", по нажатии которой будут нумероваться строки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub f()
    x =  0 
    For i =  2  To Cells(Rows.Count,  2 ).End(xlUp).Row
        If Not Rows(i).Hidden Then x = x +  1 : Cells(i,  1 ) = x
    Next
    ActiveWindow.SelectedSheets.PrintOut
End Sub
и отправлять страницу на печать.
ИМХО
Печатную форму нужно делать на отдельном листе.
Готовишь шаблон, заполняешь его данными и отправляешь на печать.
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37342825
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor,

Тоже вариант. Спасибки. :)
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37434943
Rich2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Помогите разобратса.
Можно ли зделать чтобы в автофильтре не менялась номерация строк? Проблема заключается в том, мне нужно чтобы в в ячейке С1 показывалось значение, которое берет с А4. Вот например, в А4 написано 60А-01 и в ячейки С1 было 01 которую берет с А4, ето я делаю такой формулой =ПСТР(A4;5;2) , но когда меняю у автофильтре условие (равно ---- 60А-02) то уже замисть А4 появляется ячейка А9. Тоисть формула та что в ячейки С1 показывает то же самое значение 01 (а должно уже показывать 02), а мне нужно чтобы както определяло ячейку та что находитса после А3. Может мне нужно еще какую то формулу вставлять или делать макрос в VB?
Вот файлик для примера:


Зарание большое спасибо!
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37435265
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже не разглядывая пример - могу посоветовать использовать ADODB к самой таблице...
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37439830
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMДаже не разглядывая пример - могу посоветовать использовать ADODB к самой таблице...
С помощью ADODB такого эффекта как можно достичь? Ведь речь идёт об автофильтре.

Rich2010,

Использовал функцию HiddenRow и получился элементарно. :)
Гляньте.
...
Рейтинг: 0 / 0
Нумерация строк в автофильтре (Excel 2003)
    #37440351
sergeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такая формула работает, при условии, что в A2 пусто, а A3 и далее не пустые
Код: plaintext
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ( 103 ;A$ 2 :A2)+ 1 
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Нумерация строк в автофильтре (Excel 2003)
    #38598459
Rasurulaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=ЕСЛИОШИБКА(ЕСЛИ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;RC[1]);R[-1]C+1;R[-1]C);1)

Работает. Проверено на Excel 2013. Вставляй во всю колонну, формула без абсолютных ссылок, так что должна работать.

Будут вопросы rrramazan92@gmail.com
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нумерация строк в автофильтре (Excel 2003)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]