Как макросом нумерацию excel

Содержание

  1. Автоматическая нумерация строк в Excel по порядку с помощью VBA
  2. Автонумерация строк excel
  3. 3 способа автоматической нумерации строк в программе Microsoft Excel
  4. Нумерация
  5. Способ 1: заполнение первых двух строк
  6. Способ 2: использование функции
  7. Способ 3: использование прогрессии
  8. Нумерация строк в MS EXCEL
  9. Используем формулы
  10. Используем клавишу CTRL
  11. Используем начало последовательности
  12. Использование инструмента Прогрессия
  13. Нумерация столбцов в Microsoft Excel
  14. Способы нумерации
  15. Способ 1: маркер заполнения
  16. Способ 2: нумерация с помощью кнопки «Заполнить» на ленте
  17. Способ 3: функция СТОЛБЕЦ
  18. Сохранение нумерации в таблице при удалении строк в MS EXCEL
  19. Автоматическая нумерация строк
  20. Автонумерация строк простая или как «протянуть» формулу. (Макросы/Sub)

Автоматическая нумерация строк в Excel по порядку с помощью VBA

Каждый знает, как проставить нумерацию строк в excel. Для этого достаточно поставить первые две цифры, выделить их и потянуть за появившийся в правом нижнем углу выделенной области черный квадрат. Все нумерация готова.

Вот так делается ручная нумерация строк

Но когда возникает необходимость делать эту процедуру часто, или ввиду обилия нескольких разделов и подразделов – ручная нумерация строк в таблице excel превращается в скучную рутинную работу. И гораздо приятнее написать макрос нумерации строк excel и наслаждаться результатом через долю секунды.

excel vba автоматическая нумерация строк

Работоспособный макрос нумерации строк в excel по порядку приведен ниже:

Первым делом привязываем запуск макроса при нажатии на кнопку «Обновить нумерацию». Далее запускаем цикл и выполняем его до тех пор, пока ячейка B3 и D3 содержит текст. При этом последовательно перемещаемся к ниже идущим ячейкам от B3 и D3, используя Offset и переменную i: .offset(i, 0) . Одновременно с этим, нумеруем задачи (если B3+i содержит текст) и подзадачи (если B3+i не содержит текст, при этом содержит текст D3+i). Ну и напоследок убираем курсор с кнопки «Обновить нумерацию».

Саму экселевсую книгу с макросом автоматической нумерации можно скачать по этой ссылке. На этом все. Остались вопросы – задавайте их в комментариях. С другими кейсами по автоматизации можно ознакомиться здесь.

Источник

Автонумерация строк excel

3 способа автоматической нумерации строк в программе Microsoft Excel

​Смотрите также​ в аналоговом окне)​ «=1+R[-1]C»​X = 1​ Then​Shipuchka​. Если значение в​ по порядку.​«1»​ должно быть отключено.​После того, как выполнено​ Переводим переключатель в​СОВЕТ:​ плюсик), значение из​ тому же, что​«По столбцам»​ тянуть маркер по​Часто при создании таблиц​нужно в колонке​Next​ ‘первая цифра в​.Value = Nn:​: Я работаю в​

Нумерация

​в нумерации колонок.​ То есть, не​ копирование, мы видим,​ позицию​О специальных случаях​A2​ было при использовании​. Переключатель параметра​ таблице в несколько​ в Экселе выделяют​ С сделать автонумерацию​End With​

Способ 1: заполнение первых двух строк

​ нумерации​ Nn = Nn​ 2007 версии. Здесь​

    ​Е​Мастер функций в Excel​ Кликаем по кнопке​ нужно, чтобы около​ что вся строка​«Добавить строку»​

  • ​ нумерации строк можно​в ячейки ниже.​ первых способов: к​«Тип»​ сотен, а то​ отдельную колонку, в​ етих копируємих строк​Yar4i​If lr =​ + 1​
  • ​ нет Списка, его​отсутствует, то номер​Как видим, произвести нумерацию​

    ​«Вставить функцию»​ соответствующего наименования параметра​ заполнена цифрой «1».​. Жмем на кнопку​ почитать в статьях​ Получим последовательность чисел​ необходимости прокручивать таблицу​должен находиться в​ и тысяч строк,​ которой для удобства​

    Способ 2: использование функции

    ​ по таким условиям:​: Спасибо.​​ 4 Then Exit​​.NumberFormat = Selection(1).NumberFormat​

      ​ переименовали в Таблицу. А​ соответствующей строки не​ столбцов в Экселе​, размещенную слева от​ стояла галочка. В​​ Но нам нужна​​«OK»​​ Автоматическая перенумерация строк​​ 1, 2, 3,​

  • ​ до самого низа.​ позиции​ все-таки затруднительно.​ пользования указывают номера​1. если последняя​Много нового узнал.​ Sub ‘если последняя​.HorizontalAlignment = Selection(1).HorizontalAlignment​ в Таблице какой​ отображается.​
  • ​ можно несколькими способами.​ строки формул.​ поле​ нумерация по порядку.​

    ​.​ при применении фильтра,​ 4 …​Как видим, существует три​«Арифметическая»​Второй способ автоматического заполнения​ строк. Если таблица​

    Способ 3: использование прогрессии

    ​ цифра ячейки С​ Разбираюсь.​ строка = 4​.VerticalAlignment = Selection(1).VerticalAlignment​ то бред​

      ​СОВЕТ:​ Наиболее популярный из​Открывается​«Шаг»​

    ​ Кликаем на пиктограмму,​В первую ячейку добавленной​ Автоматическая нумерация при​​ВНИМАНИЕ!​​ основных способа автоматической​​. В поле​​ предусматривает использование функции​ не слишком длинная,​​ в активной строке​​***​

  • ​ то выход из​​.Orientation = Selection(1).Orientation​​webley​​Другим вариантом поддержания​​ них – использование​Мастер функций​​проверьте, чтобы стояла​​ которая появилась около​​ строки ставим цифру​​ добавлении строк, Сохранение​Если на листе​​ нумерации строк в​​«Шаг»​​«СТРОКА»​​ то не составляет​ 0, то начинать​Все варианты попробовал,​ макроса (нет позиций,​​.ShrinkToFit = Selection(1).ShrinkToFit​​: А чем это​ правильной нумерации строк​ маркера заполнения. В​. В нём размещен​ цифра​ самой последней заполненной​«1»​ нумерации при удалении​ часть строк скрыта​
  • ​ программе. Из них​нужно установить число​.​ большой проблемы выполнить​ нумерацию с 1,​ всё работает. Спасибо.​

    ​ только шапка)​End If​ поможет?​

      ​ является использование таблиц​ слишком широких таблицах​ перечень различных функций​«1»​ ячейки. Появляется список​

  • ​. Затем наводим курсор​​ строк, Нумерация строк​​ с помощью фильтра,​ наибольшую практическую ценность​ «1», если там​Выделяем ячейку, в которой​ нумерацию вручную, вводя​например, значение ячейки​И немного изменил​For i =​If .MergeCells Then​​vikttur​​ в формате Excel​ есть смысл использовать​ Excel. Ищем наименование​. Поле​ действий. Производим установку​
  • ​ на нижний правый​ и столбцов римскими​ то этот подход​ имеет вариант с​ установлено другое. Обязательно​ будет находиться цифра​ цифры с клавиатуры.​ С 12340, количество​ — не знаю​ 22 To lr​ MrgCls = True​: В Списке во​ 2007. Об этом​ кнопку​«СТОЛБЕЦ»​«Предельное значение»​

    ​ переключателя в позицию​ угол этой ячейки.​ цифрами и Нумерация​ и остальные, приведенные​ нумерацией первых двух​ заполните поле​ «1» нумерации. Вводим​ Но, что делать,​ копий строки равно​ правильно или нет:​ ‘проходим по всем​End With​ вставляемые строки формулы​

    ​ читайте в статье​

    Нумерация строк в MS EXCEL

    ​«Заполнить»​, выделяем его и​

    Используем формулы

    ​должно быть пустым.​​«Заполнить»​​ Курсор превращается в​ столбцов буквами.​ ниже, работать не​ строк с последующим​​«Предельное значение»​​ в строку для​ если она имеет​ 3​

    ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Range(«A22»).Select​ строкам от 22​Next​ вставляются автоматически.​ Автоматическая нумерация при​с переходом в​ жмем на кнопку​ Если какой-то параметр​.​ крестик. Именно он​При работе с таблицами​ будут. Чтобы разрешить​

    ​ копированием (как самый​. Тут следует указать​ формул выражение​​ не один десяток,​​должно получится​ActiveCell.FormulaR1C1 = «1»​

    ​ до последней​Application.ScreenUpdating = True​webley​

    Используем клавишу CTRL

    ​ добавлении строк.​ настройки прогрессии. Данный​«OK»​​ не совпадает с​​После этого все ячейки​ называется маркером заполнения.​​ довольно часто требуется​​ нумерацию строк с​​ простой) и вариант​​ количество строк, которые​«=СТРОКА(A1)»​ а то и​12340​​Range(«A23»).Select​​Cells(i, 1) =​End Sub​: Не знал, спасибо​Shipuchka​

    ​ способ не предполагает​​.​ позициями, озвученными выше,​ выделенного диапазона будет​ Одновременно зажимаем левую​ произвести нумерацию столбцов.​ использованием клавиши​ с использованием прогрессии​ нужно пронумеровать. Если​.Кликаем по клавише​​ не одну сотню​​12341​ActiveCell.FormulaR1C1 = «=IF(RC2=»»»»,»»»»,MAX(R22C1:R[-1]C)+1)»​ X ‘заносим номер​​Yar4i​​Alex_ST​

    Используем начало последовательности

    ​: На листе строкам​ манипуляции курсором через​Открывается окно аргументов функции.​ то выполните настройку​ заполнены числами по​ кнопку мыши и​

    • ​ Конечно, это можно​​CTRL​​ (из-за возможности работать​ данный параметр не​​ENTER​​ строк? В этом​
    • ​12342​​Range(«A23:A» & Range(«B»​​ в ячейку​
    • ​: Доброе время дамы​: А я для​ нужно присвоить №​

    ​ всю плоскость листа.​ В поле​ согласно рекомендациям. После​​ порядку.​​ клавишу​ сделать вручную, отдельно​, выделите любую ячейку​ с большими таблицами).​ заполнен, автоматическая нумерация​

    Использование инструмента Прогрессия

    ​на клавиатуре.​ случае, на помощь​12343​ & Rows.Count).End(xlUp).Row).FormulaR1C1 =​

    • ​X = X​​ и господа​​ себя как-то макрос​
    • ​ п/п. Делалось так:​​ Кроме того, существует​​«Ссылка»​ того, как вы​
    • ​Урок:​Ctrl​ вбивая номер для​ с заголовком фильтра​

    ​Автор: Максим Тютюшев​
    ​ произведена не будет.​Как и в предыдущем​ приходит автоматическая нумерация.​2. если последняя​ «=IF(RC2=»»»»,»»»»,MAX(R22C1:R[-1]C)+1)»​ + 1 ‘увеличиваем​Простая нумерация. Искал,​ для нумерации пунктов​ в первых 3х​ специализированная функция​нужно указать ссылку​ удостоверились, что все​

    Нумерация столбцов в Microsoft Excel

    ​Как сделать автозаполнение в​на клавиатуре. Тянем​ каждого столбца с​ и дважды нажмите​Используем различные подходы для​ В конце следует​ случае, копируем с​ Давайте выясним, как​ цифра ячейки С​Но оно работает.​ счётчик на ед.​ пытался. ​ писал.​ стоках проставлялись 1,2,3. затем​СТОЛБЕЦ​ на любую ячейку​

    ​ параметры заполнены верно,​ Excel​

    Способы нумерации

    ​ маркер заполнения вправо​ клавиатуры. Если же​CTRL+SHIFT+L​ нумерации строк.​ нажать на кнопку​ помощью маркера заполнения​ сделать автоматическую нумерацию​ в активной строке​ И что прекрасно​Next ‘следующая ячейка​Для удобства уже​Ему на разные​ выделялись эти ячейки​

    Способ 1: маркер заполнения

    ​. Но из-за сложности​ первого столбца листа.​ жмите на кнопку​Ещё один способ нумерации​

      ​ до конца таблицы.​ в таблице очень​(сбросьте фильтр).​Пусть в ячейке​ «OK».​ формулу в нижние​ в программе Microsoft​ не равна 0,​ — при удалении​End With​ подготовил ячейки (они​ форматы ячеек (кроме​ и растягивалось до​​ использования и заумности​​ На этот момент​

    ​«OK»​ колонок в Microsoft​Как видим, нужная нам​​ много колонок, это​​Если начало последовательности уже​​A2​​Как видим, поле этого​

    ​ ячейки таблицы данного​ Excel.​​ то продолжить нумерацию​​ любой пронумерованной строки​Как «протянуть» формулу​ константы) A22 и​ числовых, конечно) наплевать.​ нужной строки. НО!​ данный вариант не​ крайне важно обратить​.​ Excel подразумевает использование​​ строка заполнена номерами​​ займет значительное количество​ задано (т.е. задан​введено значение 1​

  • ​ все строки вашей​ столбца. Только в​Скачать последнюю версию​ ,​ эта Формула, она​
  • ​ до последней заполненной​ A23.​ И объединённые ячейки​ В процессе работы​​ является популярным даже​​ внимание, особенно, если​​Вслед за этим столбцы​​ кнопки​ по порядку. То​ времени. В Экселе​ первый элемент и​ (номер первой строки).​ таблицы будут пронумерованы​ этот раз выделяем​ Excel​например, значение ячейки​ автоматом пронумеровывает вновь​​ ячейки в столбце​​A22 = 1,​ не мешают:​

    ​ приходиться удалять строки​ у продвинутых пользователей.​ первая колонка таблицы​ таблицы будут пронумерованы​«Заполнить»​ есть, была проведена​

    ​ есть специальные инструменты,​ шаг последовательности), то​

      ​ В следующую строку​ автоматически. В этом​​ не две первые​​Программа Microsoft Excel предоставляет​ С 34567, количество​ и вновь!​ B?​​ A23 =​​Sub RowsNum() ‘нумерация​

  • ​ и вставлять новые,​ Да и времени​ не является первым​ по порядку.​на ленте.​ нумерация столбцов.​ позволяющие провести нумерацию​ пронумеровать строки можно​ таблицы, в ячейку​ случае даже ничего​ ячейки, а только​ пользователям сразу несколько​​ копий строки равно​​buchlotnik​
  • ​gge29​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=1+R[-1]C​ ячеек в первом​ следовательно в Столбце​

    ​ данная процедура занимает​​ столбцом листа. Адрес​Можно даже не выделять​

    Способ 2: нумерация с помощью кнопки «Заполнить» на ленте

    ​После того, как добавлена​Можно также поступить несколько​ быстро. Давайте разберемся,​ следующим образом :​​А3​​ перетягивать не придется.​

      ​ одну.​ способов автоматической нумерации​ 3​: правильно, но можно​​: Такая устроит?Протяните ячейку​​В столбце B​ выделенном столбце Selection.​ №п/п появляются лиюо​ больше, чем обычное​​ ссылки можно прописать​​ всю строку, а​ строка для нумерации​​ иным образом. Заполняем​​ как они работают.​пусть в ячейке​, вводим формулу =А2+1​​Как альтернативный вариант можно​​Как видим, нумерация строк​

  • ​ строк. Одни из​должно получится​ покороче:​ В34​ уже есть заполненные​ Объединенные ячейки не​ пустые ячейки (при​ использование маркера заполнения.​ вручную. Но намного​​ просто поставить в​​ столбцов, вписываем в​ первые две ячейки​​Скачать последнюю версию​​А2​​ и копируем ее​​ использовать следующую схему​ и в этом​​ них максимально просты,​​34567​200?’200px’:»+(this.scrollHeight+5)+’px’);»>[A22]=1​Если убрать данные​ данные. Длина столбца​ мешают​ добавлении новых ячеек),​Автор: Максим Тютюшев​​ проще это сделать​​ первую ячейку цифру​ первую ячейку цифру​​ добавленной строки цифрами​​ Excel​​введено значение 1,​​ в ячейки ниже.​ этого же способа:​ случае расположилась по​ как в выполнении,​34568​Range(«A23:A» & Range(«B»​ в ячейке B,найдёт​ всегда разная, в​If TypeName(Selection) <>​ либо нумерация не​​Если номера строк в​​ установив курсор в​
  • ​В Excel существует целый​ а в ячейке​Так как в формуле​В первой ячейке поставить​​ порядку.​​ так и в​34569​ & Rows.Count).End(xlUp).Row).FormulaR1C1 =​ последнюю заполненную и​ прилагаемом файле с​ «Range» Then Exit​ по порядку (при​ таблице введены вручную,​ поле​​. Затем вызвать окно​​. Выделяем всю строку​и​ ряд вариантов автоматической​А3​​ мы сослались на​​ цифру «1», а​

    ​Но, по большому счету,​ функционале, а другие​34570​ «=IF(RC2=»»»»,»»»»,MAX(R22C1:R[-1]C)+1)»​ пересчитает​ 22 по 32​ Sub​ удалении строк). Как​

    Способ 3: функция СТОЛБЕЦ

    ​ то при удалении​«Ссылка»​ настройки прогрессии тем​ таблицы. Находясь во​​«2»​​ нумерации столбцов. Одни​

      ​значение 2;​ ячейку выше с​​ затем выделить весь​​ этот способ мало​ – более сложные,​​Количество копий может​​Yar4i​_Boroda_​

    ​ строку. Итого 11​​If Selection.Columns.Count <>​​ сделать так, что​ строк таблицы нумерация​, а затем кликнув​​ же способом, который​​ вкладке «Главная», на​. Выделяем обе ячейки.​​ из них довольно​​выделяем ячейки​

    ​ помощью относительной ссылки,​ диапазон ячеек, которые​​ чем отличается от​​ но и заключают​ бить и 100​: я на A23​: Так нужно?​ номеров.​ 1 Then Intersect(Selection,​ бы все автоматически​ собьется. Ищем решения,​ по нужной ячейке.​ был описан выше.​ ленте жмем кнопку​ Устанавливаем курсор в​ просты и понятны,​A2A3​​ то EXCEL при​​ вы хотите пронумеровать.​ предыдущего и не​ в себе большие​ и 200​ два раза навязал​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Range(«A23:A» & Range(«B» &​​Остается выделить ячейку​​ Selection(1).EntireColumn).Select​

  • ​ выравнивалос, вся нумерация​ чтобы этого избежать.​ Как видим, после​​ Все параметры должны​​«Заполнить»​ нижний правый угол​ другие – более​;​ копировании вниз модифицирует​Вызвать окно инструмента​ решает проблему с​ возможности.​Sub CopyRowDown()​ действие и 4​ Rows.Count).End(xlUp).Row).FormulaR1C1 = «=1+R[-1]C»​​ A23 и совершить​​On Error Resume​ была правильной при​Самый простой вариант сохранить​
  • ​ этого, её координаты​ совпадать с теми,​, которая расположена в​ самой правой из​

    ​ сложные для восприятия.​​беремся за правый нижний​

    ​ вышеуказанную формулу в​«Прогрессия»​ потребностью тащить маркер​Первый способ предполагает ручное​Dim k As​ и 5 строкой​Range(«B» & Rows.Count).End(xlUp)​ двойной клик по​ Next​​ любых изменениях со​​ нумерацию в таблице​ отображаются в поле.​ о которых мы​ блоке инструментов​ них. С зажатой​ Давайте подробно остановимся​ угол и Маркером​​ =А3+1, затем в​​тем же способом,​ через всю таблицу.​ заполнение первых двух​ String​ кода.​ — это мы​ маленькому чёрному квадрату​Application.ScreenUpdating = False​ строками?​

    ​ при удалении строк​

    Сохранение нумерации в таблице при удалении строк в MS EXCEL

    ​ Жмем на кнопку​ говорили ранее, кроме​«Редактирование»​ кнопкой мыши перетягиваем​ на каждом из​ заполнения протягиваем вниз.​

    ​ =А4+1 и т.д.,​ о котором мы​Как раз третий способ​ строк числами.​k = 0​Спасибо.​ встали в ячейку​ внизу справа (в​Dim iCell As​vikttur​ – это использовать​

    ​. Появляется выпадающее меню.​​ маркер заполнения к​​ них, чтобы сделать​Получаем результат как в​ тем самым формируя​ говорили выше. Но​ нумерации с использованием​В выделенной под нумерацию​With ActiveCell.EntireRow​buchlotnik​ B1048576 (самую нижнюю​ ячейке A23). И​ Range, MrgCls As​​: Название темы в​​ формулу на основе​.​​«Предельное значение»​​ В нём выбираем​ концу таблицы, но​ вывод, какой вариант​

    ​ предыдущем случае. Если​
    ​ числовую последовательность 2,​ на этот раз​ прогрессии подойдет для​ колонке первой строки​k = InputBox(«Количество​: Не только -​ ячейку столбца В)​ Excel сам пронумерует​

    Автоматическая нумерация строк

    ​ Boolean​​ окошко поиска над​ функции СТРОКА(). Записав​После этих действий в​. В нём следует​ пункт​ на этот раз​ использовать продуктивнее в​ в ячейке​ 3, 4, . ​ ничего вводить или​ длинных таблиц с​ ставим цифру –​ копий?», «Копирование строк»)​ первые две строки​ и нажали Контрл​ нужное количество строк​Dim Nn: Nn​ темой. И будет​ формулу =СТРОКА()-СТРОКА($A$5), где​ выделенной ячейке появляется​ поставить число столбцов​«Прогрессия…»​ на клавишу​ конкретном случае.​

    ​А3​​Другим вариантом является использование​ изменять не нужно.​ большим количеством строк.​ «1», во второй​
    ​If k =​

    ​ вашего кода сводятся​​ Енд​ и остановится в​
    ​ = Selection(1)​
    ​ Вам счастье.​

    ​ СТРОКА($A$5) – строка​​ цифра​

    ​ в таблице. Затем​.​Ctrl​Самым популярным способом автоматической​введено значение 3,​ формулы =СТРОКА()-СТРОКА($A$1). В​ В том числе,​Первую ячейку нумеруем самым​

    ​ (той же колонки)​​ «» Then Exit​ к​

    ​Почему просто не​​ ячейке A32.​If Not IsNumeric(Nn)​Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ().​ заголовка таблицы, получим​«1»​ жмите на кнопку​

    ​Открывается окно настроек прогрессии.​​нажимать не нужно.​ нумерации столбцов, безусловно,​

    ​ т.е. задан шаг​​ ячейке​ вводить данные в​ обычным способом, вписав​

    ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>[A22]=1​​ написали B1048576? Потому,​А в макросе​ Then​webley​
    ​ искомое решение (см.​. Для того, чтобы​«OK»​ Все параметры там​ Результат будет аналогичным.​
    ​ является использования маркера​ последовательности равный 2,​А1​ поле​ туда цифру «1»​
    ​Выделяем эти две заполненные​For n =​Yar4i​
    ​ что в Excel​ как это сделать​Nn = InputBox(«Введите​
    ​: В А6 вбить​ файл примера)​
    ​ пронумеровать все столбцы,​
    ​.​ уже должны быть​Хотя первый вариант данного​
    ​ заполнения.​ то мы получим​
    ​должен находиться заголовок​«Предельное значение»​
    ​ с клавиатуры.​ ячейки. Становимся на​ 1 To k​: я по началу​
    ​ 2003 (2000 и​ я не знаю.​
    ​ НОМЕР первого пункта»,​
    ​ формулу​
    ​Другой вариант – формула​ становимся в её​Заполнение будет выполнено. Последний​
    ​ настроены автоматически так,​ способа кажется более​
    ​Открываем таблицу. Добавляем в​
    ​ последовательность нечетных чисел.​ столбца.​не придется, так​На ленте в блоке​
    ​ нижний правый угол​.Offset(n, 0).Insert​ не поверил, что​
    ​ меньше) 65536 строк​
    ​ Пытаюсь, но везде​
    ​ «В первой ячейке​
    ​=СТРОКА()-5​
    ​=ЕСЛИ(СЖПРОБЕЛЫ(E6)<>«»;СЧЁТЗ($E$5:E5)&».»;»»)​
    ​ нижний правый угол​
    ​ вариант хорош для​ как нам нужно.​
    ​ простым, но, тем​
    ​ неё строку, в​
    ​Воспользуемся стандартным средством EXCEL​
    ​Для чрезстрочной нумерации используйте​

    Автонумерация строк простая или как «протянуть» формулу. (Макросы/Sub)

    ​ как нужный диапазон​​ инструментов «Редактирование», который​ самой нижней из​
    ​.Copy Rows(.Row +​ можно так назначать)​
    ​buchlotnik​ требуется ввод конечной​ — текст!», 1)​и протянуть вниз​
    ​В ячейке​ и вызываем маркер​ ​ таблиц с очень​
    ​ Тем не менее,​ не менее, многие​ которой будет размещаться​ для создания прогрессий,​ формулу (см. файл​ уже выделен. Достаточно​ расположен во вкладке​ них. Появляется маркер​
    ​ n)​Эта штука получше​: так нужно?​ ячейки.​If Not IsNumeric(Nn)​Shipuchka​E5​ заполнения. Так же,​ большим количеством колонок,​ не лишним будет​
    ​ пользователи предпочитают пользоваться​ нумерация колонок. Для​ в то числе​ примера) =ЕСЛИ(ЕЧЁТН(СТРОКА());»»;A7+1)​ просто нажать на​«Главная»​
    ​ заполнения. Кликаем левой​Next​ шахмат — «тыщи»​200?’200px’:»+(this.scrollHeight+5)+’px’);»>With Sheets(«12345»)​
    ​Здесь нашёл искомое,​
    ​ Then Exit Sub​
    ​: Спасибо, webley.​содержится заголовок одного​
    ​ как и в​ так как при​ проверить их состояние.​ вторым.​
    ​ этого, выделяем любую​ и арифметических.​Пусть, как и в​
    ​ кнопку «OK».​, жмем на кнопку​ кнопкой мыши и​End With​ ходов.​lr = Cells(Rows.Count,​ но без формулы.​
    ​End If​Все работает, при​ из столбца таблицы.​ предыдущие разы протаскиваем​ его применении курсор​
    ​ В блоке​Существует ещё один вариант​ ячейку строки, которая​
    ​вводим в ячейку​ предыдущем примере, в​Данный вариант хорош тем,​
    ​«Заполнить»​
    ​ с зажатой кнопкой,​
    ​End Sub​***​ 2).End(xlUp).Row​ А мне она​

    ​Nn = Int(Nn)​​ удалении, но вот,​ Номер строки выводится​
    ​ его вправо к​ никуда тащить не​«Расположение»​ использования маркера заполнения.​

    ​ будет находиться сразу​​А2​
    ​ ячейку​ что вам не​
    ​. В появившемся меню​ протягиваем его вниз​Причем здесь Word?!Почему​Приложил в файле​X = 1​ нужна.​If Nn =​
    ​ при добавлении строк,​ с точкой на​ концу таблицы. Зажимать​ нужно.​переключатель должен быть​

    ​В первой ячейке пишем​​ под нумерацией, кликаем​ ​значение 1;​
    ​A2​ придется прикидывать, из​
    ​ кликаем по пункту​
    ​ до конца таблицы.​ код не оформлен?​ готовый макрос.​
    ​If lr =​Найденное чуть изменил:​
    ​ 0 Then Nn​ все-равно приходиться протягивать​
    ​ конце. Преимущество этого​ клавишу​
    ​Можно также пронумеровать столбцы​
    ​ установлен в позицию​

    ​ цифру​​ правой кнопкой мыши,​
    ​выделяем диапазон​введено значение 1.​
    ​ скольких строк состоит​
    ​«Прогрессия»​Как видим, нумерация строчек​
    ​У Вас 80%​П.С. Утром научился​ 4 Then Exit​
    ​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>​
    ​ = 1​
    ​ формулу на новые​
    ​ варианта состоит в​
    ​Ctrl​ с помощью специальной​«По строкам»​
    ​«1»​ тем самым вызвав​A2:А6​ Выделим ячейку​ таблица. В то​.​ автоматически заполнилась по​

    ​ замечаний, хотите получить​​ кнопку добавлять.​ Sub​
    ​With Sheets(«12345») ‘с​
    ​For Each iCell​ ячейки. а что б​ том, что номера​

    ​не нужно, нажимаем​​ функции, которая так​. В параметре​. С помощью маркера​ контекстное меню. В​, в котором будут​
    ​A2​

    ​ же время, вам​​Открывается окно​ порядку.​ последнее?​sergey1978​ ​Cells(22, 1) =​

    ​ листом «12345»​​ In Selection​ все авто так​ строк выводятся только​
    ​ только правую кнопку​ и называется​«Тип»​
    ​ копируем содержимое вправо.​
    ​ этом списке выбираем​ содержаться номера строк;​
    ​. Удерживая клавишу​ нужно будет выделять​

    Источник

     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    Здравствуйте!
    Помогите понять, каким образом при добавлении текста в строки книги Excel можно сделать нумерацию с помощью макроса в столбце С ? Пример попыток прилагаю!
    Спасибо!

    Прикрепленные файлы

    • Num.xlsm (16.27 КБ)

    Изменено: yaoleg23.01.2016 17:56:23

     

    gling

    Пользователь

    Сообщений: 4024
    Регистрация: 01.01.1970

    Cells(строка, столбец) Поменяйте номер столбца на нужный.

     

    Kuzmich

    Пользователь

    Сообщений: 7998
    Регистрация: 21.12.2012

    В С2 только не забудьте поставить 1

     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    #4

    23.01.2016 18:13:24

    Цитата
    gling написал: Cells(строка, столбец) Поменяйте номер столбца на нужный.
    Код
        Dim lLastRow As Long
        iLastRow = Cells(Rows.Count, 3).End(xlUp).Row
        Cells(iLastRow + 1, 3) = Cells(iLastRow, 3) + 1

    Так?

    Цитата
    Kuzmich написал: В С2 только не забудьте поставить 1

    Но в столбце А не было1 и скрипт автоматом ставил номера. Почему для колонки С нужно ставить первую цифру?

     

    gling

    Пользователь

    Сообщений: 4024
    Регистрация: 01.01.1970

    #5

    23.01.2016 18:14:17

    Без единицы можно так

    Код
    Cells(iLastRow + 1, 3) = iLastRow
     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    gling, Kuzmich, Большое Вам спасибо за помощь!!! Все получилось! :D

     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    Здравствуйте!

    Макрос хорошо работает, но бывают случаи когда нужно «впихнуть» дополнительный номер регистрации между строк, например: 2-а. В таком случаи макрос ставит следущий номер 4, а нужно чтобы ставил 3, 4, 5…
    Можно как-нибудь решить эту ситуацию?

    Спасибо!

     

    Kuzmich

    Пользователь

    Сообщений: 7998
    Регистрация: 21.12.2012

    #8

    27.01.2016 01:29:55

    Код
    Sub num()
    Dim iLastRow As Long
      iLastRow = Cells(Rows.Count, 3).End(xlUp).Row
      Cells(2, 3) = 1
        If iLastRow > 2 Then
            If IsNumeric(Cells(iLastRow, 3)) Then
              Cells(iLastRow + 1, 3) = Cells(iLastRow, 3) + 1
            Else
              Cells(iLastRow + 1, 3) = Split(Cells(iLastRow, 3), "-")(0) + 1
            End If
        End If
    End Sub
    
     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    Спасибо в таблицу значении всталяется правильно. Но как можно этот результат работы этого кода присвоить TextBox? Нужно чтобы нумерация отображалась на форме и вставлялась в таблицу.  

    Прикрепленные файлы

    • форма2.xlsm (24.06 КБ)

    Изменено: yaoleg27.01.2016 08:43:09

     

    SuperCat

    Пользователь

    Сообщений: 2737
    Регистрация: 21.12.2012

    #10

    27.01.2016 08:48:08

    Цитата
    yaoleg написал: но бывают случаи когда нужно «впихнуть»
    Цитата
    yaoleg написал: Но как можно этот результат работы этого кода

    Чёт у вас вопросы по нарастающей. Аппетит приходит во время еды?
    Вы озвучьте сразу, что хотели.

    Изменено: SuperCat30.01.2016 00:36:20

    There is no knowledge that is not power

     

    Не совсем понятно… м.б. так?

    Прикрепленные файлы

    • форма2.xlsm (24.08 КБ)

    Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    Когда уже начинаеш работать с программой, тогда и появляются всякие несоотвествия. Первый макрос очень хорош если нет этих 2-а, 3-а — они очень редко встречаются, но все же встречатся. Ну и когда их добавляеш нумерация смещается. Второй макрос этот вопрос решает, но я никак не могу понять как эго прицепить к форме, чтобы при вводе документа отображаля номер на самой форме.
    Спасибо за понимание.

     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    Так, но на форме нумерация отображается не правильно.

     

    Михаил Лебедев

    Пользователь

    Сообщений: 2856
    Регистрация: 17.01.2013

    #14

    27.01.2016 09:01:44

    Цитата
    yaoleg написал:
    чтобы при вводе документа отображаля номер на самой форме.

    В форме нет поля для ввода документа. При вводе документа — Куда? Когда? Как?

    Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    Я имею ввиду ввод номеров с текстбокса в колонку «C» по возрастающей. Нумерация заканчивается на 18, а в текстбоксе отображается уже 22, а должно быть 18.

    Изменено: yaoleg27.01.2016 09:31:41

     

    Михаил Лебедев

    Пользователь

    Сообщений: 2856
    Регистрация: 17.01.2013

    #16

    27.01.2016 10:11:26

    а так?

    Код
    Private Sub CommandButton1_Click()
    'записать
    Dim iLastRow As Long
    Dim mymax As Long
         
        With Sheets("Лист1")
            iLastRow = .Cells(Rows.Count, "C").End(xlUp).Row + 1
            .Cells(iLastRow, "C") = Me.TextBox1.Text '
            mymax = Application.WorksheetFunction.Max(.Range("C2:C" & iLastRow))
        End With
        Me.TextBox1.Text = mymax + 1 '
        
    End Sub

    Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/

     

    Kuzmich

    Пользователь

    Сообщений: 7998
    Регистрация: 21.12.2012

    #17

    27.01.2016 11:24:48

    Цитата
    Нумерация заканчивается на 18, а в текстбоксе отображается уже 22

    В текстбоксе надо отображать не номер строки, а содержимое ячейки

    Код
        Me.TextBox1.Text = Cells(iLastRow, 3) + 1
    
     

    yaoleg

    Пользователь

    Сообщений: 16
    Регистрация: 17.01.2016

    #18

    27.01.2016 15:12:33

    Спасибо Михаил Лебедев, Kuzmich, все получилось.

    Автоматическая нумерация строк в Excel по порядку с помощью VBA

    Каждый знает, как проставить нумерацию строк в excel. Для этого достаточно поставить первые две цифры, выделить их и потянуть за появившийся в правом нижнем углу выделенной области черный квадрат. Все нумерация готова.

    ручная нумерация строк

    Вот так делается ручная нумерация строк

    Но когда возникает необходимость делать эту процедуру часто, или ввиду обилия нескольких разделов и подразделов – ручная нумерация строк в таблице excel превращается в скучную рутинную работу. И гораздо приятнее написать макрос нумерации строк excel и наслаждаться результатом через долю секунды.

    нумерация строк используя макрос vba

    excel vba автоматическая нумерация строк

    Работоспособный макрос нумерации строк в excel по порядку приведен ниже:


    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' Обновить нумерацию
    If ActiveCell.Column = 10 And Cells(ActiveCell.Row, ActiveCell.Column).Value = "Обновить нумерацию" And ActiveCell.Row = 2 Then
    ' ссылка на лист книги в котором обновляем нумерацию
    Set pr = Workbooks("planero-s-avtomaticheskoj-numeraciej-strok.xlsm").Worksheets("Проекты")
    i = 0 ' для работоспособности цикла
    j = 1 ' номер задачи
    k = 1 ' номер подзадачи
    ' проходим вниз по странице до тех пор, пока есть записи в ячейке "B3" или "C3"
    Do While pr.Range("B3").Offset(i, 0) > 0 Or pr.Range("D3").Offset(i, 0) > 0
    ' если ячейка "В3"+i содержит текст
    If pr.Range("B3").Offset(i, 0) > 0 Then
    ' нумеруем ее
    pr.Range("A3").Offset(i, 0) = j
    ' выделяем номер жирным
    pr.Range("A3").Offset(i, 0).Font.Bold = True
    ' увеличиваем переменную j на единицу
    j = j + 1
    ' обнуляем номер подзадачи
    k = 1
    ' если ячейка "B3"+i пустая, следовательно мы имеем дело с подзадачей
    Else
    ' если ячейка "D3"+i содержит текст
    If pr.Range("D3").Offset(i, 0) > 0 Then
    ' нумеруем ее
    pr.Range("C3").Offset(i, 0) = k
    ' увеличиваем номер подзадачи на единицу
    k = k + 1
    End If
    End If
    ' увеличиваем i на +1 чтобы проверить следующию ячейку (расположенную ниже) на наличие записи
    i = i + 1
    Loop
    ' убираем курсор с кнопки
    pr.Cells(ActiveCell.Row, ActiveCell.Column - 2).Select
    End If
    End Sub

    Первым делом привязываем запуск макроса при нажатии на кнопку «Обновить нумерацию». Далее запускаем цикл и выполняем его до тех пор, пока ячейка B3 и D3 содержит текст. При этом последовательно перемещаемся к ниже идущим ячейкам от B3 и D3, используя Offset и переменную i: .offset(i, 0). Одновременно с этим, нумеруем задачи (если B3+i содержит текст) и подзадачи (если B3+i не содержит текст, при этом содержит текст D3+i). Ну и напоследок убираем курсор с кнопки «Обновить нумерацию».

    Саму экселевсую книгу с макросом автоматической нумерации можно скачать по этой ссылке. На этом все. Остались вопросы – задавайте их в комментариях. С другими кейсами по автоматизации можно ознакомиться здесь.

    Комментарии 2

    © планеро.ru

    Olya1985

    32 / 2 / 0

    Регистрация: 31.12.2010

    Сообщений: 91

    1

    Макрос для автоматической нумерации строк

    07.01.2011, 13:27. Показов 32934. Ответов 15

    Метки нет (Все метки)


    Студворк — интернет-сервис помощи студентам

    Подскажите, пожалуйста, как исправить макрос чтобы строки нумеровались автоматически на листе, а также при удалении строки нумерация также смещалась.

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    
    Private Sub worksheet_change (byval target as range) 
     
    For Each oCell In Range([D1], Cells(Rows.Count, "D")).Cells
        If Not IsEmpty(oCell) Then iCount = iCount + 1: oCell.Previous = iCount
    Next
     
    End Sub



    0



    Частенько бываю

    749 / 330 / 42

    Регистрация: 20.06.2007

    Сообщений: 854

    07.01.2011, 17:40

    2

    А чем же вас этот код не устраивает конкретно?



    0



    32 / 2 / 0

    Регистрация: 31.12.2010

    Сообщений: 91

    07.01.2011, 17:42

     [ТС]

    3

    он зависает после нумерации первой строки…



    0



    Vlanib

    Частенько бываю

    749 / 330 / 42

    Регистрация: 20.06.2007

    Сообщений: 854

    07.01.2011, 18:03

    4

    Естественно! Исправьте макрос следующим образом:

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal target As Range)
    Application.EnableEvents = False
    For Each oCell In Range([D1], Cells(Rows.Count, "D")).Cells
        If Not IsEmpty(oCell) Then iCount = iCount + 1: oCell.Previous = iCount
    Next
    Application.EnableEvents = True
    End Sub



    0



    32 / 2 / 0

    Регистрация: 31.12.2010

    Сообщений: 91

    07.01.2011, 18:07

     [ТС]

    5

    Vlanib,

    теперь строки не нумеруются…



    0



    Частенько бываю

    749 / 330 / 42

    Регистрация: 20.06.2007

    Сообщений: 854

    07.01.2011, 18:15

    6

    Скиньте ваш файлик.



    0



    32 / 2 / 0

    Регистрация: 31.12.2010

    Сообщений: 91

    07.01.2011, 18:24

     [ТС]

    7

    файлик прилагаю



    0



    Частенько бываю

    749 / 330 / 42

    Регистрация: 20.06.2007

    Сообщений: 854

    07.01.2011, 18:30

    8

    Видимо не приложился…



    0



    32 / 2 / 0

    Регистрация: 31.12.2010

    Сообщений: 91

    07.01.2011, 18:32

     [ТС]

    9

    еще раз попробую…



    0



    Частенько бываю

    749 / 330 / 42

    Регистрация: 20.06.2007

    Сообщений: 854

    07.01.2011, 18:56

    10

    Так, Оленька, давайте обстоятельно. В этом вашем посте вы просили перевести формулу на ВБА, что я и сделал дословно. Данная вами формула возвращает в ячейку количество аргументов в столбце «D». Если бы вы изначально правильно сформулировали задачу, то и вопросов было бы меньше.
    Внимательно посмотрите где располагается макрос. Если нужно чтобы он работал только для конкретной страницй, то код нужно разместить в модуле листа, в событии его изменения. Макрос нумерует столбец А если в В есть значение.



    1



    32 / 2 / 0

    Регистрация: 31.12.2010

    Сообщений: 91

    07.01.2011, 19:01

     [ТС]

    11

    Vlanib,

    спасибо! только осталась еще одна проблема.. при удалении строки в столбце B номер все равно остается. при использовании же формулы он исчезает вместе с удаленным текстом. можно ли в макросе сделать также?



    0



    Vlanib

    Частенько бываю

    749 / 330 / 42

    Регистрация: 20.06.2007

    Сообщений: 854

    07.01.2011, 19:25

    12

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Application.EnableEvents = False
    For Each oCell In Range([B1], Cells(ActiveSheet.UsedRange.Rows.Count, "B")).Cells
        If Not IsEmpty(oCell) Then
            iCount = iCount + 1
            oCell.Previous = iCount
        Else: oCell.Previous.Clear
        End If
    Next
    Application.EnableEvents = True



    1



    32 / 2 / 0

    Регистрация: 31.12.2010

    Сообщений: 91

    07.01.2011, 20:26

     [ТС]

    13

    теперь отлично. спасибо!

    Добавлено через 13 минут
    Vlanib,

    извиняюсь, но еще одна небольшая проблемка. последнее введенное значение не пронумеровывается. как можно это исправить?

    Добавлено через 16 минут
    Vlanib,

    прошу мое предыдущее сообщение считать недействительным.

    у меня овт еще вопрос. я не совсем понимаю для чего используется Application.EnableEvents = False или True. Не могли бы вы вкратце объяснить?

    Добавлено через 6 минут
    я что то порядком запуталась… последняя строка и правда не нумеруется……..



    0



    1904 / 781 / 31

    Регистрация: 11.02.2010

    Сообщений: 1,567

    07.01.2011, 22:41

    14

    EnableEvents, как следует из перевода, отключает или включает обработку событий приложения (т. е события могут либо игнорироваться, либо при возникновении событий могут вызываться соответствующие обработчики этих событий) http://support.microsoft.com/kb/213720

    Не по теме:

    Цитата
    Сообщение от Olya1985
    Посмотреть сообщение

    я что то порядком запуталась

    ВОЗМОЖНО, выполнение кода было остановлено пользователем между инструкциями Application.EnableEvents = False/True и события перестали обрабатываться вплоть до повторного открытия приложения



    0



    91 / 1 / 1

    Регистрация: 09.01.2013

    Сообщений: 2

    09.01.2013, 11:15

    15

    Лучший ответ Сообщение было отмечено как решение

    Решение

    Уважаемый Vlanib Спасибо — Очень интересное решение , а можно дописать макрос чтоб в » A » счет шел с первой пустой ячейки ( так как обычно бывают шапки в таблицах — получится макрос на все случаи жизни



    0



    8 / 8 / 0

    Регистрация: 22.02.2012

    Сообщений: 159

    20.02.2021, 14:05

    16

    Vlanib, а как переписать макрос, чтобы он нумеровал строку не по приницпу «количество столбцов выше+1», а «значение в предыдущей ячейке+1». У меня нумерация строк просто 10001, 10002..



    0



    макрос Нумерация списка

    wild_pig

    Дата: Воскресенье, 30.12.2012, 23:18 |
    Сообщение № 1

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 516


    Репутация:

    97

    ±

    Замечаний:
    0% ±


    2003, 2013

    Подскажите (а лучше покажите) как сделать макрос автоматической нумерации списка. Каждая позиция состоит из 3-х строк, номера надо в первых. Список динамический и не на активном листе. Новый год на носу, а нумеровать надо smile

     

    Ответить

    AlexM

    Дата: Воскресенье, 30.12.2012, 23:36 |
    Сообщение № 2

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 4257


    Репутация:

    1046

    ±

    Замечаний:
    0% ±


    Excel 2003

    А формулой не подойдет?
    В ячейку В7 вставить формулу

    Код

    =ЕСЛИ(ОСТАТ(СТРОКА(A1)-1;3);»»;ОКРВВЕРХ(СТРОКА(A1)/3;1))

    И протянуть ее вниз



    Номер мобильного модема (без голосовой связи)
    9269171249 МегаФон, Московский регион.

     

    Ответить

    Serge_007

    Дата: Воскресенье, 30.12.2012, 23:49 |
    Сообщение № 3

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15894


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Вариант:

    Код

    =ЕСЛИ(ОСТАТ(СТРОКА()-7;3);»»;МАКС(A$6:A6)+1)


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    wild_pig

    Дата: Воскресенье, 30.12.2012, 23:50 |
    Сообщение № 4

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 516


    Репутация:

    97

    ±

    Замечаний:
    0% ±


    2003, 2013

    Тягать за крестик я давно умею ) хотелось при добавлении новой позиции ну или когда потребуется нумерация проходила без вмешательства шаловливых ручек.
    есть у меня такой макрос
    [vba]

    Код

    Sub num()
    With Sheets(«Лист1»)
    x = .[C7].CurrentRegion.Rows.Count
    .Range(«B7») = 1
    If x > 2 Then
    .Range(«B8») = 2
    .Range(«B7:B8»).AutoFill Destination:=.Range(«B7:B» & x), Type:=xlFillDefault
    End If
    End With
    End Sub

    [/vba]
    но он выдаёт ошибки при пустых ячейках над нумерацией и когда позиций меньше 3х.

    Сообщение отредактировал wild_pigВоскресенье, 30.12.2012, 23:53

     

    Ответить

    Serge_007

    Дата: Понедельник, 31.12.2012, 00:20 |
    Сообщение № 5

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15894


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Цитата (wild_pig)

    Тягать за крестик я давно умею

    Можно и не тягать:
    [vba]

    Код

    Sub wild_pig()
        Sheets(«Девки»).Range(«B7:B21»).FormulaR1C1 = _
             «=IF(MOD(ROW(R[-6]C[-1])-1,3),»»»»,CEILING(ROW(R[-6]C[-1])/3,1))»
    End Sub

    [/vba]


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    wild_pig

    Дата: Понедельник, 31.12.2012, 00:45 |
    Сообщение № 6

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 516


    Репутация:

    97

    ±

    Замечаний:
    0% ±


    2003, 2013

    Так ведь конец диапазона неизвестен.

     

    Ответить

    Serge_007

    Дата: Понедельник, 31.12.2012, 00:59 |
    Сообщение № 7

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15894


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016

    Ничто не мешает его определить
    Range(«B» & Rows.Count).End(xlUp)
    Посмотрите похожую тему


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    AlexM

    Дата: Понедельник, 31.12.2012, 01:52 |
    Сообщение № 8

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 4257


    Репутация:

    1046

    ±

    Замечаний:
    0% ±


    Excel 2003

    [vba]

    Код

    Sub FormatRange()
    Set MyRange = Sheets(«Девки»).UsedRange
    For i = 1 To MyRange.Rows.Count
         If ((i + 2) Mod 3) = 0 Then Range(«B» & MyRange.Item(1).Row + i — 1) = ((i — 1) 3) + 1
    Next i
    End Sub

    [/vba]



    Номер мобильного модема (без голосовой связи)
    9269171249 МегаФон, Московский регион.

     

    Ответить

    Gustav

    Дата: Понедельник, 31.12.2012, 12:23 |
    Сообщение № 9

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 2398


    Репутация:

    986

    ±

    Замечаний:
    0% ±


    начинал с Excel 4.0, видел 2.1

    А если тянуть (копировать) не одну, а сразу три ячейки, то формула до неприличия упрощается:

    [vba]

    Код

    Sub copyNot1But3cells()
         With Sheets(«Девки»)
             .Range(«B7»).FormulaR1C1 = «=R[-3]C+1»
             .Range(«B7:B9»).Copy .Range(«B7:B» & _
                 .UsedRange.SpecialCells(xlCellTypeLastCell).Row)
         End With
    End Sub

    [/vba]


    МОИ: Ник, Tip box: 41001663842605

     

    Ответить

    wild_pig

    Дата: Понедельник, 31.12.2012, 13:14 |
    Сообщение № 10

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 516


    Репутация:

    97

    ±

    Замечаний:
    0% ±


    2003, 2013

    Цитата (Gustav)

    А если тянуть (копировать) не одну, а сразу три ячейки, то формула до неприличия упрощается:

    Такой способ не допускает незаполненных ячеек в нумеруемых блоках (по 3), если заполнены не все три, то нумерация не происходит. У Алекса код «шо нада» почти )
    Спасибо, вам, всем. Уже 12 часов, а не в одном глазу(
    С наступающим, вас, Новым годом. Желаю успехов и здоровья. Ещё раз СПАСИБО!

    Сообщение отредактировал wild_pigПонедельник, 31.12.2012, 14:55

     

    Ответить

    Gustav

    Дата: Понедельник, 31.12.2012, 16:02 |
    Сообщение № 11

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 2398


    Репутация:

    986

    ±

    Замечаний:
    0% ±


    начинал с Excel 4.0, видел 2.1

    Цитата (wild_pig)

    Такой способ не допускает незаполненных ячеек в нумеруемых блоках (по 3), если заполнены не все три, то нумерация не происходит.

    В смысле? Вы думаете, я предложил бы решение, не убедившись в его работоспособности?


    МОИ: Ник, Tip box: 41001663842605

     

    Ответить

    kalbasiatka

    Дата: Понедельник, 31.12.2012, 17:51 |
    Сообщение № 12

    Группа: Пользователи

    Ранг: Прохожий

    Сообщений: 2


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Gustav, если заполнить три первых ячейки будет номер 1, если заполнить четыре ячейки будет тоже 1, только когда будет шесть записей появится 2. Так тоже хорошо ну, а если забудем внести данные , а цифру очень хочется:-)

     

    Ответить

    AlexM

    Дата: Вторник, 01.01.2013, 10:53 |
    Сообщение № 13

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 4257


    Репутация:

    1046

    ±

    Замечаний:
    0% ±


    Excel 2003

    Еще вариант. Может быть пригодится. Макрос срабатывает по событию на листе — изменение значения в ячейке.
    [vba]

    Код

    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    RowStart = 7 ‘начало таблицы
    If Not Intersect(Range(«C» & RowStart & «:C65536»), Target) Is Nothing Then
    On Error GoTo Errors1
    If Target.Address(0, 0) = «C» & RowStart Then Target.Offset(0, -1) = 1: GoTo Errors1
    Target.Offset(0, -1) = IIf(Target.Offset(-3, -1) <> Empty And Target <> «», Target.Offset(-3, -1) + 1, «»)
    If Target.Offset(-3, -1) = Empty And Target.Offset(-1, 0) = «» Then Target = «»
    End If
    Errors1:
    Application.EnableEvents = True
    End Sub

    [/vba]
    В код добавлена строка. Без нее нельзя заполнить таблицу с «нуля»
    [vba]

    Код

    If Target.Address(0, 0) = «C» & RowStart Then Target.Offset(0, -1) = 1: GoTo Errors1

    [/vba]



    Номер мобильного модема (без голосовой связи)
    9269171249 МегаФон, Московский регион.

    Сообщение отредактировал AlexMВторник, 01.01.2013, 23:37

     

    Ответить

    wild_pig

    Дата: Вторник, 01.01.2013, 11:38 |
    Сообщение № 14

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 516


    Репутация:

    97

    ±

    Замечаний:
    0% ±


    2003, 2013

    Спасибо.

     

    Ответить

    NATA1111

    Дата: Среда, 17.09.2014, 10:57 |
    Сообщение № 15

    Группа: Пользователи

    Ранг: Прохожий

    Сообщений: 3


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Здравствуйте, подскажите, а если надо нумеровать только строки содержащие пол: ж.
    [moder]Тогда нужно прочитать Правила форума и создать свою тему

     

    Ответить

    NATA1111

    Дата: Среда, 17.09.2014, 11:09 |
    Сообщение № 16

    Группа: Пользователи

    Ранг: Прохожий

    Сообщений: 3


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2010

    Создала, извините

     

    Ответить

    Понравилась статья? Поделить с друзьями:
  • Как макросе перемножить ячейки в excel
  • Как макрос запустить с кнопки excel
  • Как люди думают word
  • Как лучше сохранить документ word
  • Как лучше конвертировать pdf в word