Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2013, 21:32   #11
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Как обойти данный момент.
Самое простое
On Error Resume Next
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 12.10.2013, 21:42   #12
normres
Пользователь
 
Регистрация: 12.10.2013
Сообщений: 10
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Самое простое
On Error Resume Next
Сейчас нормалек, буду второй код тестировать.
normres вне форума Ответить с цитированием
Старый 12.10.2013, 23:30   #13
normres
Пользователь
 
Регистрация: 12.10.2013
Сообщений: 10
По умолчанию

При обработке ошибки оператором On Error Resume Next
код не выполняется. Куда вывести код сообщения MsgBox для пользователя чтобы он понял почему не выполнился код?
Код:
Sub DelBlankRow()
On Error Resume Next
  
  Const psw As String = "пароль"
  With ActiveSheet
    .Unprotect psw
    Range(.Cells(10, 1), .Columns(1).Find(".")).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    .Protect psw
  End With
End Sub
normres вне форума Ответить с цитированием
Старый 13.10.2013, 07:06   #14
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Код:
Sub DelBlankRow()
Err.Clear: On Error Resume Next

' код....

If Err.Number <> 0 Then
   MsgBox Err.Description
End If
End Sub
maksim_serg вне форума Ответить с цитированием
Старый 13.10.2013, 08:06   #15
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
чтобы он понял почему не выполнился код?
если обрабатывать все возможные ошибки, кода будет намного больше.
оно вам надо?

Возможные ошибки в вашем макросе:
1) нет активного листа (книга не открыта)
2) активный лист не является рабочим листом (например, лист диаграммы)
3) не удалось снять пароль с листа (например, пароль неверный)
4) не удалось найти точку в первом столбце
5) между точкой и 10-й строкой нет пустых ячеек
6) код запускается из модуля листа, а активен другой лист (нет точки перед Range)
EducatedFool вне форума Ответить с цитированием
Старый 13.10.2013, 12:52   #16
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Здравствуйте.

При выполнении данного кода
Цитата:
добавить строку над точкой дублируя строку над ячейкой с координатой точка "."
Код:
 Sub AddRowAbove()
  Const psw As String = "пароль"
  With ActiveSheet
    .Unprotect psw
    .Columns(2).Find(".").EntireRow.Insert shift:=xlDown
    .Protect psw
  End With
End Sub
Строка добавляется, но как дополнить код, чтобы добавлялся формат впереди стоящей строки и формулы.
1. Формат строки это границы, если точней то вертикальные простые толсты по горизонтали простые тонкие.
2. Формулы это ячейки впереди стоящей строки столбцов 36, 37, 38, 39, 41
segail вне форума Ответить с цитированием
Старый 14.10.2013, 00:22   #17
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Кросс:
http://www.excelworld.ru/forum/10-6711-1
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 14.10.2013, 10:19   #18
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
 Sub AddRowAbove()
  Const psw As String = "пароль"
  dim r as long
  With ActiveSheet
    .Unprotect psw
    r = .Columns(2).Find(".").Row
    rows(r).Insert shift:=xlDown
    cells(r-1,1).copy
    cells(r,1).PasteSpecial Paste:=xlPasteFormats
    cells(r-1,36).resize(1,5).copy
    cells(r,36).PasteSpecial Paste:=xlPasteFormulas
    .Protect psw
  End With
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 14.10.2013 в 10:25.
IgorGO вне форума Ответить с цитированием
Старый 14.10.2013, 18:12   #19
normres
Пользователь
 
Регистрация: 12.10.2013
Сообщений: 10
По умолчанию

Приветствую.
IgorGO я код немного сдвинул на колонку 6 и точку на колонку 1
что-то с границами как-то не корректно получается. Да и с формулами что то не понятно почему то отражаются значения.
Посмотрите пример.
Вложения
Тип файла: zip tem.zip (24.3 Кб, 11 просмотров)
normres вне форума Ответить с цитированием
Старый 14.10.2013, 18:49   #20
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

извините, писал просто тут, не проверяя...
там опечатка)))
необходимо
Код:
cells(r-1,1).copy
заменить на
Код:
Rows(r - 1).Copy
и будет Вам счастье!
хотя нет... для счастья еще в конце надо добавить
Код:
cells(r,1) = cells(r-1,1)+1
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 14.10.2013 в 19:00.
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц