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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос для записи значений только в пустые ячейки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для записи значений только в пустые ячейки (Макросы/Sub)
Макрос для записи значений только в пустые ячейки
kudim94 Дата: Понедельник, 28.11.2016, 15:45 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем привет! Я пытаюсь сделать макрос, который будет записывать значения только в пустые ячейки столбца AP. Столбцы при этом должны быть отфильтрованы по определенному признаку.

Код на данный момент выглядит так:
[vba]
Код
  For i = 1 To LastRow
    If Cells(i, "AP") = "" Then
    If Cells(i, "AP").SpecialCell(xlCellTypeVisible) Then
  ActiveSheet.UsedRange.Cells(i, "AP").SpecialCells(xlCellTypeVisible) = "товар 123"
    End If
    End If
    Next i
[/vba]
Однако при такой записи значением "товар 123" заполняются все ячейки таблицы и выскакивает ошибка о нехватке памяти. Подскажите, пожалуйста, в чем может быть дело.
 
Ответить
СообщениеВсем привет! Я пытаюсь сделать макрос, который будет записывать значения только в пустые ячейки столбца AP. Столбцы при этом должны быть отфильтрованы по определенному признаку.

Код на данный момент выглядит так:
[vba]
Код
  For i = 1 To LastRow
    If Cells(i, "AP") = "" Then
    If Cells(i, "AP").SpecialCell(xlCellTypeVisible) Then
  ActiveSheet.UsedRange.Cells(i, "AP").SpecialCells(xlCellTypeVisible) = "товар 123"
    End If
    End If
    Next i
[/vba]
Однако при такой записи значением "товар 123" заполняются все ячейки таблицы и выскакивает ошибка о нехватке памяти. Подскажите, пожалуйста, в чем может быть дело.

Автор - kudim94
Дата добавления - 28.11.2016 в 15:45
sboy Дата: Понедельник, 28.11.2016, 16:04 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 196
Репутация: 48 ±
Замечаний: 0% ±

Excel 2007
Добрый день.
Без файла наверно так
[vba]
Код
For i = 1 To LastRow
    If Cells(i, "AP") = "" Then
    If Cells(i, "AP").SpecialCell(xlCellTypeVisible) Then
       Cells(i, "AP").Value = "товар 123"
    End If
    End If
    Next i
[/vba]
 
Ответить
СообщениеДобрый день.
Без файла наверно так
[vba]
Код
For i = 1 To LastRow
    If Cells(i, "AP") = "" Then
    If Cells(i, "AP").SpecialCell(xlCellTypeVisible) Then
       Cells(i, "AP").Value = "товар 123"
    End If
    End If
    Next i
[/vba]

Автор - sboy
Дата добавления - 28.11.2016 в 16:04
Wasilich Дата: Понедельник, 28.11.2016, 17:28 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 855
Репутация: 220 ±
Замечаний: 0% ±

2003
Может так?
[vba]
Код
Dim x As Range
For Each x In Range("AP1:AP" & LastRow).SpecialCells(xlCellTypeVisible)
       If x = "" Then x = "товар 123"
Next
[/vba]


Сообщение отредактировал Wasilich - Понедельник, 28.11.2016, 17:29
 
Ответить
СообщениеМожет так?
[vba]
Код
Dim x As Range
For Each x In Range("AP1:AP" & LastRow).SpecialCells(xlCellTypeVisible)
       If x = "" Then x = "товар 123"
Next
[/vba]

Автор - Wasilich
Дата добавления - 28.11.2016 в 17:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для записи значений только в пустые ячейки (Макросы/Sub)
Страница 1 из 11
Поиск:

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