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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2012, 08:47   #1
all4you
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 14
По умолчанию Автоматическое заполнение ячеек через макрос

Ребят, привет. Помогите, пожалуйста, с макросом, если найдется время. Пример желаемого прикрепил к сообщению. В примере серым цветов выделены ячейки, значения в которые забиваются в ручную (их трогать не нужно), а желтым цветом выделены значения, которые необходимо, чтобы проставлялись автоматически при применении макроса, это первые два столбца. Количество листов бывает больше 15, т.е. в примере только два листа показаны, но на самом деле их больше.... Спасибо.
Вложения
Тип файла: rar Пример.rar (4.5 Кб, 170 просмотров)
all4you вне форума Ответить с цитированием
Старый 26.08.2012, 13:36   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вот это заполнит отформатированные таблицы на всех листах
Код:
Sub Fill12Column()
  Dim r As Long, i As Long, k As Long, sh
  i = 1: k = 0
  For Each sh In Sheets
    With sh
      For r = 6 To .UsedRange.Rows.Count + 33
        If .Cells(r, 3).MergeCells And (Not .Cells(r, 1).MergeCells) Then
          .Cells(r, 1) = i:  .Cells(r, 2) = "ò" & i
          k = 0: i = i + 1
        Else
          k = k + 1:  If k > 31 Then Exit Sub
        End If
      Next
    End With
  Next
End Sub
а что на самом деле Вам надо получить, думаю, никто не понял
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.08.2012, 13:53   #3
all4you
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 14
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
вот это заполнит отформатированные таблицы на всех листах
Код:
Sub Fill12Column()
  Dim r As Long, i As Long, k As Long, sh
  i = 1: k = 0
  For Each sh In Sheets
    With sh
      For r = 6 To .UsedRange.Rows.Count + 33
        If .Cells(r, 3).MergeCells And (Not .Cells(r, 1).MergeCells) Then
          .Cells(r, 1) = i:  .Cells(r, 2) = "ò" & i
          k = 0: i = i + 1
        Else
          k = k + 1:  If k > 31 Then Exit Sub
        End If
      Next
    End With
  Next
End Sub
а что на самом деле Вам надо получить, думаю, никто не понял
IgorGO, спасибо большое за код! Вы все правильно поняли, все отлично работает!
all4you вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое заполнение ячеек в разных системах счисления viron Microsoft Office Excel 3 09.01.2012 19:28
Как выполнить автоматическое заполнение ячеек malloy84 Microsoft Office Excel 14 31.03.2011 12:14
Автоматическое заполнение ячеек (VBA) Warhead Microsoft Office Excel 11 15.03.2010 13:07
Автоматическое заполнение диапазона ячеек формулой. garry2000 Microsoft Office Excel 3 02.03.2010 14:19
автоматическое заполнение данными ячеек в excel kasanad80 Microsoft Office Excel 7 17.07.2009 15:31