val_04
Спасибо огромное!
Спасибо огромное!
закоментировал If Error = 0 Then
и вставил MsgBox Sheets(i).Name & Chr(33) & myCell.Address
перед A(UBound(A)) = Sheets(i).Name & Chr(33) & myCell.Address
теперь вижу нужные сообщения.
Это "прокатит" только в том случае, если на листе присутствует хотя бы одна ячейка, содержащая формулу (я уже говорил об этом).
а можно ли открывать лист и область с найденной ячейкой?
Конечно можно. Но что делать дальше? Т.е. мы нашли первую интересующую нас ячейку, перешли по ссылке и остановились. А остальные?
On Error Resume Next - мне помогает в случае, когда нет формул на листе
Я тоже не совсем понимаю. Если хотите проверить, была ли ошибка, то это неверно по 2м причинам:Это вовсе не для поиска ошибок (откуда им взяться?). Если на листе есть хотя бы одна ячейка с формулами, то Err = 0 и выполняется код сравнения и т.д., если Err <> 0, то переходим к следующему листу. Можно, конечно, сравнивать и
1) проверять надо Err.Number, а не Err
2) не совсем понятно, когда и какое значение будет иметь Err.Number внутри блока обработки ошибок. Я бы так не стал писать.
if F>0 then, но какая разница?
Это вовсе не для поиска ошибок (откуда им взяться?).
какая разница?
If Err.Number <> 0 Then
код работает только когда On Error goto 0 стоит в конце, где и был
иначе - ошибка
Это означает, что код не работает как надо.
F=-1? Нужно F = 0.
А Вы сами пробовали хотя бы "протестить" предложенный код?
почему Вы предлагаете
Цитата:F=-1
? Нужно F = 0.
Хотя, опять же, нет никакой разницы, что проверять. Хоть "If F > 0", хоть If Err = 0 (но до восстановления обработчика ошибок). Согласны?
For ZZ = 2 To Workbooks("map3.xls").Sheets("TB").Range("K65536").End(xlUp).Row
If Not IsEmpty(ZZ) Then
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Как я понял, ZZ - номер строки. Не думаю, что команда IsEmpty() даст правильный результат, ей нужно передать ссылку на одну ячейку, если вы хотите узнать, пустая ли ячейка. Со столбцами и строками дело сложнее...
Для проверки строки на "пустоту" можно воспользоваться, например
Код:If Rows(ZZ).Text = "" Then MsgBox "Строка пуста"
, где ZZ - номер проверяемой строки.
более универсальное средствоНо в частных случаях (например, проверка именно строки) я стараюсь использовать (если это оправдано) код покороче и побыстрее.
Но в частных случаях (например, проверка именно строки) я стараюсь использовать (если это оправдано) код покороче и побыстрее.
Достали из реестра значение в переменную "Cnt" - увеличили на 1 и снова записали.
К примеру, можно передать функции isEmpty() диапазон, содержащий несколько ячеек или даже столбец. Но функция ведёт себя неадекватно при данных условиях: она будет всегда возвращать одно и то же значение, в не зависимости от того, все ячейки пустые или нет.
А можно этим или другим способом увеличивать значение в определенном ini или txt файле?
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
Предыдущая тема: Написание своего HyperTerminal для считывания данных