Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Перебор всех ячеек на листе
 
Спасибо, все работает!
Перебор всех ячеек на листе
 
Проверка на наличие ошибок не подходит, т.к. она просматривает только один лист и показывает все ошибки
Перебор всех ячеек на листе
 
Вообще смысл в том чтобы найти во всей книге ошибки такого типа:

#ДЕЛ/0!
#ИМЯ?
#ЗНАЧ!

Пытаюсь так:
Cells.Find(What:="#ИМЯ?").Activate
Cells.Find(What:="#ДЕЛ/0!").Activate
Cells.Find(What:="#ЗНАЧ!").Activate

Но выдает ошибку
Перебор всех ячеек на листе
 
Приветствую.
Как правильно прописать код для того чтобы VBA перебрал все ячейки на листе проверив их на выполнение определенных условий.
Думаю должно быть что-то вроде:

Dim Cl As
For Each Cl In ...
...условие...
Next
Вопрос по On Error Resume Next
 
С.М., спасибо работает!
Вопрос по On Error Resume Next
 
Спасибо, но есть одно "но", макрос должен проверять принадлежит ли ячейка именно к диапазону "яч", а не просто проименован диапазон или нет, т.е. если ячейка будет принадлежать именованному диапазону "другой", то должно появляться "No"
сводная таблица в excel 2010
 
Встаете на сводную таблицу -вверху появляется " Работа со сводными таблицами" - Конструктор - Макет отчета - Показать в табличной форме
Вопрос по On Error Resume Next
 
Добрый день!

Помогите найти ошибку:

Есть ячейки (именованные диапазоны) проименованые по порядку "яч1","яч2" и т.д. Есть макрос, который просматривает активную ячейку на принадлежность к этим именованным диапазонам: если она принадлежит к любому из них, ставит 1, если не принадлежит - ставит 0.

Когда все имена диапазонов на месте, то все работает.
Как только удаляется одно из имен, то функция On Error Resume Next почему-то при попадании цикла на это удаленное имя сразу выполняет условие (ставит 1), хотя по идее должно переходить в следующему номеру (Next i)!

Почему так происходит? как сделать так, чтобы при ошибке в данном примере (прикладываю его) макрос брал следующий номер, а не выполнял условие?

Вот код:

Код
Sub qwer()
On Error Resume Next

   For i = 1 To 6
      If Not Intersect(ActiveCell, Range("яч" & i)) Is Nothing Then GoTo Ok
   Next i

   ActiveCell = 0
   Exit Sub
Ok:
   ActiveCell = 1
End Sub
Выбор листа по имени диапазона
 
Спасибо! то, что искал.
Выбор листа по имени диапазона
 
Добрый день!

Возможно ли сделать так, чтобы лист выбирался по имени диапазона?
Допустим есть именованный диапазон "База" и лист "Total", в котором этот диапазон находиться.

т.е. по факту должно быть что-то типа:

Sht = Range("База"). ИмяЛиста

Sheets (Sht).Select


Это нужно потому-что листы могут переименовать и соответственно маркос, в котором имена листов прописаны напрямую, не будет работать
Обращение к переменной
 
Цитата
nilem пишет:
попробуйте так
Код
 Dim asAddr(), lMax as Long
lMax = Range("Макс") .Value 
redim asAddr(1 to lMax)
.... 

Работает, спасибо!
Обращение к переменной
 
Цитата
sva пишет:
Т.к. Мах это функция VBA переименуйте вашу переменную например в MaxR

Я ее уже как только не переименовывал, все-равно выдает ошибку :(
Обращение к переменной
 
Еще есть вопрос:

Можно ли ввести переменную в интервал массива? Вместо 5 в "Dim asAddr(1 to 5)" поставить Max, которая, в свою очередь будет ссылаться по значение из ячейки?

Пример:

Max = Range("Макс")  .Value

Dim asAddr(1 to Max)

For i = 1 To Max
asAddr(i) = Range("год" & i).Address
Next i

For e = 1 To Max
Range(asAddr(e)).Select
Next e

Excel выдает на это ошибку...
Изменено: Дмитрий Киселев - 11.01.2013 15:49:56
Обращение к переменной
 
Супер! Все работает!Спасибо!
Обращение к переменной
 
Цитата
The_Prist пишет:
Range("год" & i)

Это понятно... смысл в том, что эти переменные фиксируют адреса ячеек, после чего добавляются строки и, соответственно, адреса ячеек "Год1,2,3,4,5" изменяются. Мне надо чтобы Excel вставал именно в "старые" адреса после перемещения.
Обращение к переменной
 
Добрый день!

Пример:

adr1 = Range("год1").Adress   ' есть ряд переменных различающихся только по номеру
adr2 = Range("год2").Adress
adr3 = Range("год3").Adress
adr4 = Range("год4").Adress
adr5 = Range("год5").Adress

For i = 1 To 5   ' есть цикл, который обращается к этим переменным

Range(adr & i).Select

Next i

Excel выдает ошибку.

Подскажите, пожалуйста, как правильно написать "adr & i" чтобы Excel выбрал именно эту ячейку.
Страницы: 1
Наверх