Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2009, 15:25   #11
IFRSoff
Форумчанин
 
Аватар для IFRSoff
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Вот еще один пример. Он более подходит, если вы потом будете пользоваться автофильтром или впр.
Вложения
Тип файла: rar Книга1.rar (3.3 Кб, 24 просмотров)
Лень - двигатель прогресса!
IFRSoff вне форума Ответить с цитированием
Старый 14.04.2009, 15:45   #12
Ofelok
 
Регистрация: 14.04.2009
Сообщений: 5
По умолчанию

Спасибо всем большое )) но первый вариант мне конечно понравился больше .....низачто не догадался бы формулу с ячейкой складывать , чет помоему я туповат ))
Ofelok вне форума Ответить с цитированием
Старый 14.04.2009, 17:21   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а я могу поделиться методикой/макросом, который иногда использую. вдруг кому-то пригодится...

Что есть.
есть документ в Excel. в первом столбце номера по порядку. НО! Есть заголовки разделов/подразделов.
и есть пустые строчки...
Кроме того, периодически удаляются/вставляются строчки с номерами.

Как это работает.
те строчки, которые должны нумероваться, обязательно должны иметь циферку в нумеруемом столбце (в макросе нумеруется столбец A)
(при копировании существующих строк - это автоматически получается...)
потом запускаем макрос (его лучше хранить в другой книге, чтобы не портить оригинальному файлу "карму безопасности")

макрос такой:
Код:
Sub Renumber_in_ColumnA()
  Dim i As Long, Row1 As Long, Row2 As Long, nn As Long
  Dim MyType As String
  Row1 = ActiveWorkbook.ActiveSheet.UsedRange.Row
  Row2 = Row1 + ActiveWorkbook.ActiveSheet.UsedRange.Rows.Count - 1
  ' lastrow = Cells(Row1, 1).End(xlUp).Row
  MsgBox " от " & Str(Row1) & " до " & Str(Row2)
'  MsgBox "bokk=" & ActiveWorkbook.Name
  nn = 1
  For i = Row1 To Row2
    MyType = TypeName(Cells(i, 1).Value)
    If (MyType = "Double") And (Cells(i, 1).Value > 0) Then
      Cells(i, 1).Value = nn
      nn = nn + 1
    End If
  Next i
End Sub
p.s. хотя, конечно, признаю, автонумерацией это не назовёшь.. ;(
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите VBA+DLL в Excele Юнлинг Microsoft Office Excel 4 24.12.2008 07:48
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44