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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2013, 12:24   #1
Serg113
 
Регистрация: 08.05.2008
Сообщений: 5
По умолчанию Автозаполнение ячеек.

Добрый день всем.

Подскажите пожалуйста, может кто сталкивался с такой бедой:

У меня в колонке есть ячейки объединенные и не объединенные. Хочу их пронумеровать автозаполнением, но как только доходит до объединенной ячейки программа выдает сообщение "Для этого требуется, чтоб ячейки имели одинаковый размер". У меня строк в документе около 20000, в ручную проставлять - как то печально. Может кто подскажет что делать, чтоб ускорить процесс?

Заранее большое спасибо.
Serg113 вне форума Ответить с цитированием
Старый 17.12.2013, 12:26   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

подсказываю - напишите макрос
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.12.2013, 12:41   #3
Serg113
 
Регистрация: 08.05.2008
Сообщений: 5
По умолчанию

А нет ли готового макроса, а то я далек от написания макросов?
Serg113 вне форума Ответить с цитированием
Старый 17.12.2013, 13:09   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

человечеством написаны миллиарды готовых макросов.
например вот удивительный макрос, который нумерует строки
Код:
Sub NumRows()
  Dim r As Long
  r = Val(InputBox("Укажите число", "А сколько строк пронумеровать?", 123)):  Randomize
  if r >= 1 then Cells(1, 1 + Int(Rnd() * 20)).Resize(r, 1).Formula = "=row()"
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 17.12.2013 в 13:15.
IgorGO вне форума Ответить с цитированием
Старый 17.12.2013, 13:40   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Выделите ячейки в столбце, которые требуется пронумеровать и запустите макрос:
Код:
Sub NumCellsInColumn()
    Dim i As Long, j As Long: j = 1: Application.ScreenUpdating = False
    With Selection
        .Cells(1, 1) = 1
        For i = 2 To .Count
            If Intersect(.Cells(i, .Column), .Cells(i - 1, .Column).MergeArea) Is Nothing Then
                j = j + 1: .Cells(i, .Column) = j
            End If
        Next
    End With
End Sub
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 17.12.2013 в 13:42.
SAS888 вне форума Ответить с цитированием
Старый 17.12.2013, 16:24   #6
Serg113
 
Регистрация: 08.05.2008
Сообщений: 5
По умолчанию

Большое спасибо, Все получилось.
Это значительно облегчает жизнь.
Можно еще нескромный вопрос? А можно ли нумерацию задавать самому?
Serg113 вне форума Ответить с цитированием
Старый 17.12.2013, 16:42   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

уверен, что использовался макрос SAS888
Код:
Sub NumCellsInColumn()
    Dim i As Long, j As Long:  Application.ScreenUpdating = False
    j = Val(InputBox("Укажите число", "Задайте начальный номер.", 1))  
    With Selection
        .Cells(1, 1) = j
        For i = 2 To .Count
            If Intersect(.Cells(i, .Column), .Cells(i - 1, .Column).MergeArea) Is Nothing Then
                j = j + 1: .Cells(i, .Column) = j
            End If
        Next
    End With
    Application.ScreenUpdating = True
End Sub
я поправлю чуть-чуть с молчаливого позволения SAS888
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.12.2013, 17:14   #8
Serg113
 
Регистрация: 08.05.2008
Сообщений: 5
По умолчанию

Большое спасибо за модернизацию. То что доктор прописал. Тему считаю закрытой. Вы мне очень помогли.
Serg113 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозаполнение ячеек в excel alexstar315 Microsoft Office Excel 3 27.11.2013 18:51
Смещение ячеек при автозаполнение ТРИУМФ Microsoft Office Excel 3 27.08.2013 11:28
автозаполнение ячеек из других книг в exel 2007 SV_fep Microsoft Office Excel 4 26.05.2013 15:31
Автозаполнение ячеек по заданному условию Ann_Sever Microsoft Office Excel 2 21.08.2012 10:11
автозаполнение данных в текст бокс из других ячеек ahrejiok Microsoft Office Excel 3 15.01.2012 13:12