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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2016, 09:40   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию Копирование значений ячеек из одной строки в другую

Здравствуйте Уважаемые программисты!
Есть код ниже (vba Excel 2003), который копирует значения ячеек из одной выбранной строки (позиция 1) в другую выбранную строку (позиция 2).

Код:
Sub Копировать_позицию()
   Dim CopyRng1 As Range, CopyRng2 As Range
   Dim CopyPoz1 As Variant

   Set CopyRng1 = Nothing
   On Error Resume Next
   Application.DisplayAlerts = False
   Set CopyRng1 = Application.InputBox("Выделите любую ячейку копируемой строки:", "Выбор позиции 1", Type:=8)
   Application.DisplayAlerts = True
   On Error GoTo 0

   If CopyRng1 Is Nothing Then
      MsgBox "Отменено", vbOKOnly, ""
      ActiveCell.Select: GoTo Vi
   End If

   With CopyRng1
         CopyPoz1 = ActiveSheet.Range("E" & CopyRng1.Row & ":F" & CopyRng1.Row).Value
   End With

   Set CopyRng2 = Nothing
   On Error Resume Next
   Application.DisplayAlerts = False
   Set CopyRng2 = Application.InputBox("Выделите любую ячейку строки для вставки:", "Выбор позиции 2", Type:=8)
   Application.DisplayAlerts = True
   On Error GoTo 0

   If CopyRng2 Is Nothing Then
      MsgBox "Отменено", vbOKOnly, ""
      ActiveCell.Select: GoTo Vi
   End If

   With CopyRng2
         ActiveSheet.Range("E" & CopyRng2.Row & ":F" & CopyRng2.Row) = CopyPoz1
   End With
Vi: End Sub
Код работает, но если после появления окна (выбор позиции 1) нажать esc или кнопку Отмена, то появляется ошибка:

Код HTML:
Run-time error '424':
Object required.
на строке (помеченной красным цветом).
Подскажите пожалуйста как исправить код, чтобы при отмене выбора позиции, код корректно завершался?
Заранее спасибо!

Последний раз редактировалось ольгаг; 19.12.2016 в 09:42.
ольгаг вне форума Ответить с цитированием
Старый 19.12.2016, 10:47   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Не должно такого быть - в коде прописано подавление ошибок. У меня ошибка не появляется (Excel 2007).
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование значений из одной таблицы в другую (SQL) Nekit9401 Помощь студентам 1 26.05.2014 12:49
Сравнение столбцов двух таблиц и копирование значений из одной в другую. cxx Microsoft Office Excel 2 10.02.2014 13:59
MS SQL SERVER 2005 копирование таблицы из ОДНОЙ БД В другую или перенести все строки из одной таблицы в другую reihtmonbern БД в Delphi 4 17.07.2012 23:25
копирование ячеек из одной книги в другую по условию troyam Microsoft Office Excel 2 22.03.2012 15:17
поиск ячеек по шаблону из одной книги и копирование в другую VS1986 Microsoft Office Excel 1 27.01.2011 05:34