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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 09:40   #1
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию Нумерация строк

Форумчане, здравствуйте!
Подскажите, как в примере AutoNum предложенном уважаемым SAS888 изменить код процедуры ProcHid для случая, когда нумерация столбцов начинается не с первой строки, а к примеру - с пятой.
Если Вы будете так любезны, то прокоментируйте вышеназванный код.
Благодарю.
Вложения
Тип файла: rar AutoNum.rar (10.1 Кб, 26 просмотров)
Trimbl вне форума Ответить с цитированием
Старый 16.12.2010, 09:17   #2
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Здравствуйте, если я не ошибаюсь, похоже:

Dim i As Long, j As Long: Application.ScreenUpdating = False
If Not TypeOf Selection Is Range Then Exit Sub
With Selection
If .Address = .EntireRow.Address Then
.Rows.Hidden = True: j = 1
For i = 1 To ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
If Rows(i).Hidden = False Then
Cells(i, 1) = j: j = j + 1
End If
Next
ElseIf .Address = .EntireColumn.Address Then
.Columns.Hidden = True: j = 1
For i = 1 To ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1
If Columns(i).Hidden = False Then
Cells(1, i) = j: j = j + 1
End If
Next
End If
End With


там где выделено жирным, это наверное с кокой строки начинать цикл...
А что эта процедурка делает?
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 18.12.2010, 09:08   #3
Trimbl
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 135
По умолчанию

Цитата:
Сообщение от staniiislav Посмотреть сообщение
Здравствуйте, если я не ошибаюсь, похоже:

Dim i As Long, j As Long: Application.ScreenUpdating = False
If Not TypeOf Selection Is Range Then Exit Sub
With Selection
If .Address = .EntireRow.Address Then
.Rows.Hidden = True: j = 1
For i = 1 To ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
If Rows(i).Hidden = False Then
Cells(i, 1) = j: j = j + 1
End If
Next
ElseIf .Address = .EntireColumn.Address Then
.Columns.Hidden = True: j = 1
For i = 1 To ActiveSheet.UsedRange.Column + ActiveSheet.UsedRange.Columns.Count - 1
If Columns(i).Hidden = False Then
Cells(1, i) = j: j = j + 1
End If
Next
End If
End With


там где выделено жирным, это наверное с кокой строки начинать цикл...
А что эта процедурка делает?
Там где выделенно жирным это точно не то, что Вы думаете, а именно:
For -ключевое слово, означающее начало цикла
i - переменная, определяющая число повторений цикла
1 - начальное значение счетчика
Представлен фрагмент кода, назначение которого заложено в названии вложения(AutuNum) т.е автоматическую нумерацию столбцов и строк.
Trimbl вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нумерация строк StartMis Общие вопросы Delphi 20 17.01.2011 15:00
нумерация строк strannik SQL, базы данных 1 19.05.2010 09:09
Нумерация строк Sparky БД в Delphi 6 16.02.2010 21:38
Нумерация строк ShnapS БД в Delphi 5 06.05.2009 20:59
Нумерация строк. QT 4 NikLik Qt и кроссплатформенное программирование С/С++ 2 18.12.2008 22:38