Страницы: 1
RSS
Автоматическая нумерация строк
 
Вопрос такой: При выгрузке в Excel данных из Docsvision. Перед этим формируется шаблон в который производиться выгрузка.    
 
Заранее не известно сколько строк будет в таблице. Подскажите, пожалуйста, как можно пронумеровать строки автоматически сколько бы их ни было?  
 
Может глупый вопрос... но при поиске натыкаюсь на что-то сложное и все не о том...
 
может быть так ? http://www.planetaexcel.ru/tip.php?aid=41
 
Нет эта формула маленько не то. Проблема в том, что при выгрузке происходит вставка таблицы в шаблон. И не известно заранее сколько в ней строк, но они должны автоматически пронумероваться. То есть в подготовленном шаблоне уже должна быть задана какая-то формула, которая динамически заполняет новообразовавшийся диапазон, где N строк (так как это будет результатом запроса).  
 
Во вложении: желтым-сюда будет вставлена таблица, красным - здесь должен находиться № п\п строки
 
Вложение
 
лист2 и лст2(2) - попроще и посложнее(без разрывов и с оными)
 
а в общем-то АМС уже указал.. и это правильно
 
слэн, АМС спасибо вам большое...  
Но я наверное непонятно объясняю. Формулы верные и первая и вторая. Более того тут можно и совсем простые формулы использовать...  
 
Строки нумероваться должны автоматически. Пользователь не должен делать никаких действий (выделил/протянул итд)  
 
Может это невозможно? :(  
 
На всякий случай я во вложение добавлю результат что получилось  
 
Желтым - строки, которые были автоматически выгружены в первоначальный шаблон.  
 
Зеленым - тут должны были появиться порядковые номера строк
 
ну и почему у вас в первой строке формула осталась, а в последующих стерты?  
разберитесь как происходит выгрузка
 
При выгрузке происходит вставка строк в то место где указан маркер.  
Формулы не стерты - они сместились вниз
 
Может есть макрос какой-то или какие-нибудь динамические диапазоны надо задавать. Я попробовала, но не поняла как применить такой диапазон.  
 
...Меня не покидает чувство, что все гораздо проще
 
Кстати, может будет полезно... после выгрузки не сложно подсчитать количество строк формулой СТРОКА. Может быть зная количество строк можно какой-нибудь формулой или макросом автоматически заполнить номера?
 
{quote}{login=Волчонок}{date=18.03.2008 12:28}{thema=}{post}  
 
...Меня не покидает чувство, что все гораздо проще{/post}{/quote}  
 
Волчонок! Логика, как понимаю, такая: подсчитать количество значений по полю N (в примере "С" - "Дата регистрации поручения"), а затем "протянуть" формулу на такое же количество ячеек в поле "А" - "№ п/п". Только как - сама себя она не "протянет"? И еще: скрытое (без "шапки") поле "В" - так и должно быть? И нет ли в данных "жестких" переносов строк?.. Извини, но решения у меня пока нет. В подобных ситуациях (квалификация -"начинающий") ухожу в Access - счетчик там не подводил.
 
{quote}{login=Волчонок}{date=18.03.2008 12:25}{thema=}{post}При выгрузке происходит вставка строк в то место где указан маркер.  
Формулы не стерты - они сместились вниз{/post}{/quote}  
 
т.е строки вставляются целиком и изменить это невозможно?  
тогда запуск макроса по событию изменения листа...  
 
макрос или вставляет ту же формулу или сам нумерует строки, вставляя числовые значения.  
при использовании формул можно в дальнейшем удалять или сортировать строки(особенно если усложнить формулу, включив в нее проверку на первое значение)
 
Там вообще все просто можно сделать пустую страницу в ячейку B1 внести маркер для выгрузки (ничего скрытого и критичного там нет). То что формула себя не протянет я тоже поняла. Никаких жестких условий нет. Просто грубо говоря надо к этой табличке вставить впереди столбец с порядковым номером. Делается это один раз и больше нигде не используется, потому и не критично какой сложности будет формула. Задача только в том, чтобы нумерацию эту как то реализовать.
 
придумай, как запустить такой макрос:  
Sub макрос()  
   Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Value = 1  
   Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).FormulaR1C1 = "=R[-1]C+1"
   Range(Cells(Rows.Count, 1).End(xlUp), Cells(Cells(Rows.Count, 2).End(xlUp).Row, 1)).FillDown  
End Sub
 
Слэн, я создала новый макрос, скопировала в него код и запустила. Ничего не вышло. Иогда я назначила сочетание клавиш для запуска макроса, снова ничего не вышло.Это правильно? Или требуется еще дописывать код? В Хэлпе только общие сведенья...  
 
...Я никогда не имела дела с макросами
 
Вспомнил!!!  
Смотри - автор "Igor67" - ситуация похожая "http://www.planetaexcel.ru/forum.php?thread_id=2863"
 
Ага, спасибо что-то подобное. Как сделаю отпишусь здесь что именно мне помогло.  
 
Всем спасибо! :) советы то ценные, даже если к конкретно этой ситуации не все применимы
 
С макросами к сожалению некогда было разбираться, потому просто нашла другой способ выгрузки таблицы отдельными столбцами, в этом случае первые две формулы подходят и работают идеально. Еще раз всем большое спасибо!
Страницы: 1
Читают тему
Наверх