Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Заполнение ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение ячеек (Макросы/Sub)
Заполнение ячеек
Leojse Дата: Пятница, 11.07.2014, 10:07 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 1 ±
Замечаний: 0% ±

2010/2013
Добрый день, уважаемые форумчане!
Помогите, пожалуйста, разобраться с одной задачей.
В выделенном диапазоне мне сначала нужно заполнить пустые ячейки значением "0". Затем в этом же диапазоне необходимо зайти в каждую ячейку и выйти из нее. Затем значение "0" заменить снова на пустые ячейки. Наверно, при прочтении, задача покажется очень странной, но, пожалуйста, поверьте, мне это нужно.
Попытался сам выполнить задачу:
[vba]
Код
Sub step1_()
Selection.SpecialCells(xlCellTypeBlanks).Select
      Selection.FormulaR1C1 = "0"
End Sub

Sub step2_()
      For Each cell In Selection
      Application.SendKeys "{F2}"
       Application.SendKeys "{ENTER}"
       Next
       End Sub

       Sub step3_()
     For Each cell In Selection
      Selection.Replace What:="0", Replacement:="", LookAt:=xlWhole, _
          SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
          ReplaceFormat:=False
          Next
       End Sub
[/vba]
Всё вроде бы нормально, но почему-то сбивается выделение диапазона (диапазон как бы разрывается после step1 в тех ячейках, где уже вбиты значения, отличные от "0").
Заранее спасибо за помощь!


Сообщение отредактировал Leojse - Пятница, 11.07.2014, 10:21
 
Ответить
СообщениеДобрый день, уважаемые форумчане!
Помогите, пожалуйста, разобраться с одной задачей.
В выделенном диапазоне мне сначала нужно заполнить пустые ячейки значением "0". Затем в этом же диапазоне необходимо зайти в каждую ячейку и выйти из нее. Затем значение "0" заменить снова на пустые ячейки. Наверно, при прочтении, задача покажется очень странной, но, пожалуйста, поверьте, мне это нужно.
Попытался сам выполнить задачу:
[vba]
Код
Sub step1_()
Selection.SpecialCells(xlCellTypeBlanks).Select
      Selection.FormulaR1C1 = "0"
End Sub

Sub step2_()
      For Each cell In Selection
      Application.SendKeys "{F2}"
       Application.SendKeys "{ENTER}"
       Next
       End Sub

       Sub step3_()
     For Each cell In Selection
      Selection.Replace What:="0", Replacement:="", LookAt:=xlWhole, _
          SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
          ReplaceFormat:=False
          Next
       End Sub
[/vba]
Всё вроде бы нормально, но почему-то сбивается выделение диапазона (диапазон как бы разрывается после step1 в тех ячейках, где уже вбиты значения, отличные от "0").
Заранее спасибо за помощь!

Автор - Leojse
Дата добавления - 11.07.2014 в 10:07
Формуляр Дата: Пятница, 11.07.2014, 10:25 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Всё вроде бы нормально, почему-то сбивается выделение диапазона.

Конечно сбивается. Вы ж сами меняете выделенный диапазон:
[vba]
Код
Selection.SpecialCells(xlCellTypeBlanks).Select
[/vba]
Уберите Select:
[vba]
Код
Selection.SpecialCells(xlCellTypeBlanks).value = "0"
[/vba]
И вообще, убирайте везде, где есть, последовательность
[vba]
Код
<чего-нибудь>.Select
Selection.<чего-нибудь>
[/vba]
это вредные издержки макрокодера.


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Пятница, 11.07.2014, 10:33
 
Ответить
Сообщение
Всё вроде бы нормально, почему-то сбивается выделение диапазона.

Конечно сбивается. Вы ж сами меняете выделенный диапазон:
[vba]
Код
Selection.SpecialCells(xlCellTypeBlanks).Select
[/vba]
Уберите Select:
[vba]
Код
Selection.SpecialCells(xlCellTypeBlanks).value = "0"
[/vba]
И вообще, убирайте везде, где есть, последовательность
[vba]
Код
<чего-нибудь>.Select
Selection.<чего-нибудь>
[/vba]
это вредные издержки макрокодера.

Автор - Формуляр
Дата добавления - 11.07.2014 в 10:25
Leojse Дата: Пятница, 11.07.2014, 10:47 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 1 ±
Замечаний: 0% ±

2010/2013
Формуляр, спасибо Вам большое! И опять вопрос возник... Но по шагу 2. Получается, "вход-выход" из ячеек в диапазоне повторяется несколько раз почему-то... Не подскажите, как прописать, чтобы "вход-выход" выполнялся в диапазоне только 1 раз?
 
Ответить
СообщениеФормуляр, спасибо Вам большое! И опять вопрос возник... Но по шагу 2. Получается, "вход-выход" из ячеек в диапазоне повторяется несколько раз почему-то... Не подскажите, как прописать, чтобы "вход-выход" выполнялся в диапазоне только 1 раз?

Автор - Leojse
Дата добавления - 11.07.2014 в 10:47
Формуляр Дата: Пятница, 11.07.2014, 11:03 | Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Как вы, интересно, опредляете, что он происходит несколько раз?

На всякий случай вставьте
[vba]
Код
Application.EnableEvents = False
...
Application.EnableEvents = True
[/vba]
в начале и в конце кода.


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеКак вы, интересно, опредляете, что он происходит несколько раз?

На всякий случай вставьте
[vba]
Код
Application.EnableEvents = False
...
Application.EnableEvents = True
[/vba]
в начале и в конце кода.

Автор - Формуляр
Дата добавления - 11.07.2014 в 11:03
Leojse Дата: Пятница, 11.07.2014, 11:14 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 1 ±
Замечаний: 0% ±

2010/2013
Формуляр, когда запускаю шаг 2 видно, что "вход-выход" происходит несколько раз. Хорошо, вставлю
[vba]
Код
Application.EnableEvents = False
  ...
  Application.EnableEvents = True
[/vba]
Сейчас попробовал всё на одну кнопку прицепить. Опять не получается то, что нужно. При попытке всё повесить на одну кнопку сначала идет заполнение ячеек нулями, потом идет очищение ячеек от нулей, и только потом идет "вход-выход". Проверял несколько раз.
Пишу через рекордер:
[vba]
Код
Sub вместе_()
     Application.Run "PERSONAL.XLSB!step1_"
     Application.Run "PERSONAL.XLSB!step2_"
     ActiveCell.FormulaR1C1 = "=R[53]C[1]"
     Range("M1609:M1648").Select
     Range("M1620").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1621").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1622").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1623").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1624").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1630").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1632").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1633").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1635").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1637").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1639").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1641").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1646").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     Range("M1647").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     Range("M1648").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     ActiveCell.FormulaR1C1 = "=R[53]C[1]"
     Range("M1609:M1648").Select
     Range("M1620").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1621").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1622").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1623").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1624").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1630").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1632").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1633").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1635").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1637").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1639").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1641").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1646").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     Range("M1647").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     Range("M1648").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     ActiveCell.FormulaR1C1 = "=R[53]C[1]"
     Range("M1609:M1648").Select
     Range("M1620").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1621").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1622").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1623").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1624").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1630").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1632").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1633").Activate
     Application.Run "PERSONAL.XLSB!step3_"
End Sub
[/vba]
Убираю то, что между step 2 и step 3, и получается то, что писал перед кодом. Еще заметил баг с клавиатурой - после работы макроса почему-то отключается num lock %)
 
Ответить
СообщениеФормуляр, когда запускаю шаг 2 видно, что "вход-выход" происходит несколько раз. Хорошо, вставлю
[vba]
Код
Application.EnableEvents = False
  ...
  Application.EnableEvents = True
[/vba]
Сейчас попробовал всё на одну кнопку прицепить. Опять не получается то, что нужно. При попытке всё повесить на одну кнопку сначала идет заполнение ячеек нулями, потом идет очищение ячеек от нулей, и только потом идет "вход-выход". Проверял несколько раз.
Пишу через рекордер:
[vba]
Код
Sub вместе_()
     Application.Run "PERSONAL.XLSB!step1_"
     Application.Run "PERSONAL.XLSB!step2_"
     ActiveCell.FormulaR1C1 = "=R[53]C[1]"
     Range("M1609:M1648").Select
     Range("M1620").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1621").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1622").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1623").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1624").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1630").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1632").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1633").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1635").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1637").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1639").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1641").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1646").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     Range("M1647").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     Range("M1648").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     ActiveCell.FormulaR1C1 = "=R[53]C[1]"
     Range("M1609:M1648").Select
     Range("M1620").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1621").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1622").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1623").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1624").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1630").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1632").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1633").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1635").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1637").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1639").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1641").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1646").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     Range("M1647").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     Range("M1648").Activate
     ActiveCell.FormulaR1C1 = "2"
     Range("M1609:M1648").Select
     ActiveCell.FormulaR1C1 = "=R[53]C[1]"
     Range("M1609:M1648").Select
     Range("M1620").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1621").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1622").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1623").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1624").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1630").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1632").Activate
     ActiveCell.FormulaR1C1 = "0"
     Range("M1609:M1648").Select
     Range("M1633").Activate
     Application.Run "PERSONAL.XLSB!step3_"
End Sub
[/vba]
Убираю то, что между step 2 и step 3, и получается то, что писал перед кодом. Еще заметил баг с клавиатурой - после работы макроса почему-то отключается num lock %)

Автор - Leojse
Дата добавления - 11.07.2014 в 11:14
Формуляр Дата: Пятница, 11.07.2014, 11:24 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
когда запускаю шаг 2 видно, что "вход-выход" происходит несколько раз

А мне вот ничего не видно.
Вы написали 60 постов, а правила почитать не удосужились? deal
ГДЕ ФАЙЛ?


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Пятница, 11.07.2014, 11:25
 
Ответить
Сообщение
когда запускаю шаг 2 видно, что "вход-выход" происходит несколько раз

А мне вот ничего не видно.
Вы написали 60 постов, а правила почитать не удосужились? deal
ГДЕ ФАЙЛ?

Автор - Формуляр
Дата добавления - 11.07.2014 в 11:24
Leojse Дата: Пятница, 11.07.2014, 14:04 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 1 ±
Замечаний: 0% ±

2010/2013
Прикладываю файл-пример.
Вообщем, при заполнении месяцев кварталы, полугодия, 9 месяцев формируются сами (есть макрос в модуле "Лист"). При заполнении месяцев "растягиванием", на пример, 1 полугодие начинает формироваться неверно. Исправляю так - где пустые ячейки ставлю ноль и нажимаю enter. Где есть уже числа, вхожу в ячейку, жмакаю enter. Потом с помощью "Найти-заменить" нули убираю. Но строк очень много (порядка 2-х тысяч), очень долго сидеть и прожмакивать ячейки. Копировать/вырезать и тут же вставлять не помогает. Если делать специальную вставку и складывать ноль, то тоже ничего не исправляется. Да, понятно, что автозаполнением тогда лучше пользоваться, но на файле, помимо меня, работают еще люди.
Попробуйте на колонке Февраля объем поочередно запстить макросы step. тогда "1 полугодие" исправляется. Но если на той же колонке запустить "проверку", то опять ничего не выходит.
К сообщению приложен файл: 5185847.xlsm (21.1 Kb)
 
Ответить
СообщениеПрикладываю файл-пример.
Вообщем, при заполнении месяцев кварталы, полугодия, 9 месяцев формируются сами (есть макрос в модуле "Лист"). При заполнении месяцев "растягиванием", на пример, 1 полугодие начинает формироваться неверно. Исправляю так - где пустые ячейки ставлю ноль и нажимаю enter. Где есть уже числа, вхожу в ячейку, жмакаю enter. Потом с помощью "Найти-заменить" нули убираю. Но строк очень много (порядка 2-х тысяч), очень долго сидеть и прожмакивать ячейки. Копировать/вырезать и тут же вставлять не помогает. Если делать специальную вставку и складывать ноль, то тоже ничего не исправляется. Да, понятно, что автозаполнением тогда лучше пользоваться, но на файле, помимо меня, работают еще люди.
Попробуйте на колонке Февраля объем поочередно запстить макросы step. тогда "1 полугодие" исправляется. Но если на той же колонке запустить "проверку", то опять ничего не выходит.

Автор - Leojse
Дата добавления - 11.07.2014 в 14:04
Leojse Дата: Пятница, 11.07.2014, 16:28 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 1 ±
Замечаний: 0% ±

2010/2013
При запуске "проверки" сначала идет заполнение нулями, потом (почему-то) их удаление, и только потом "вход-выход". Подскажите, как прописать, чтобы ыбло так: заполнение нулями-"вход-выход"-удаление нулей?
 
Ответить
СообщениеПри запуске "проверки" сначала идет заполнение нулями, потом (почему-то) их удаление, и только потом "вход-выход". Подскажите, как прописать, чтобы ыбло так: заполнение нулями-"вход-выход"-удаление нулей?

Автор - Leojse
Дата добавления - 11.07.2014 в 16:28
Формуляр Дата: Пятница, 11.07.2014, 20:33 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Подскажите, как прописать, чтобы ыбло так: заполнение нулями-"вход-выход"-удаление нулей?

Проверка происходит именно в этой последовательности.
Также как и "вход-выход" при запуске step2_() выполняется 1 раз.

Ещё раз спрашиваю, как вы определяете, что это происходит как-то иначе?
Приложите видео.
К сообщению приложен файл: 5185847.xls (44.5 Kb)


Excel 2003 EN, 2013 EN
 
Ответить
Сообщение
Подскажите, как прописать, чтобы ыбло так: заполнение нулями-"вход-выход"-удаление нулей?

Проверка происходит именно в этой последовательности.
Также как и "вход-выход" при запуске step2_() выполняется 1 раз.

Ещё раз спрашиваю, как вы определяете, что это происходит как-то иначе?
Приложите видео.

Автор - Формуляр
Дата добавления - 11.07.2014 в 20:33
Формуляр Дата: Пятница, 11.07.2014, 20:52 | Сообщение № 10
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Вместо извращений с "входом-выходом" вызывайте лучше обработку вода Sheet1.Worksheet_Change() напрямую:
[vba]
Код
Sub step2_()
        For Each cell In Selection
        Sheet1.Worksheet_Change (cell)
'    Application.SendKeys "{F2}"
'     Application.SendKeys "{ENTER}"
         Next
End Sub
[/vba]
Для этого нужно сначала снять с неё Private

PS: И лучше делать это на первом шаге, сразу после записи 0 в ячейку, чтоб не обрабатывать уже заполненные ячейки.
К сообщению приложен файл: 7428808.xls (46.0 Kb)


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Пятница, 11.07.2014, 20:59
 
Ответить
СообщениеВместо извращений с "входом-выходом" вызывайте лучше обработку вода Sheet1.Worksheet_Change() напрямую:
[vba]
Код
Sub step2_()
        For Each cell In Selection
        Sheet1.Worksheet_Change (cell)
'    Application.SendKeys "{F2}"
'     Application.SendKeys "{ENTER}"
         Next
End Sub
[/vba]
Для этого нужно сначала снять с неё Private

PS: И лучше делать это на первом шаге, сразу после записи 0 в ячейку, чтоб не обрабатывать уже заполненные ячейки.

Автор - Формуляр
Дата добавления - 11.07.2014 в 20:52
Leojse Дата: Четверг, 16.10.2014, 08:19 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 148
Репутация: 1 ±
Замечаний: 0% ±

2010/2013
Доброе утро, уважаемые форумчане! Буду признателен за любой ответ! Подскажите, пожалуйста, а возможно ли step2() каким-то образом адаптировать для личной книги макросов? При запуске из личной книги на строчке
[vba]
Код
Sheet1.Worksheet_Change (cell)
[/vba]
выдает ошибку ошибку 424 "Object required".
 
Ответить
СообщениеДоброе утро, уважаемые форумчане! Буду признателен за любой ответ! Подскажите, пожалуйста, а возможно ли step2() каким-то образом адаптировать для личной книги макросов? При запуске из личной книги на строчке
[vba]
Код
Sheet1.Worksheet_Change (cell)
[/vba]
выдает ошибку ошибку 424 "Object required".

Автор - Leojse
Дата добавления - 16.10.2014 в 08:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнение ячеек (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!