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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос для записи значений только в пустые ячейки (Макросы/Sub)
Макрос для записи значений только в пустые ячейки
kudim94 Дата: Понедельник, 28.11.2016, 15:45 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Без файла наверно так
[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]


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Без файла наверно так
[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
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 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 из 1
  • 1
Поиск:

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