Страницы: 1
RSS
Копирование диапазона ячеек с другого документа (VBA EXCEL), ошибка Subscript out of range
 
Добрый день.

Пишу макрос для копирования диапазона ячеек с 1 документа Excel в другой. В процессе возникла ошибка  Subscript out of range. Опыта в VBA крайне мало, только учусь. Ребят, подскажите, в чём проблема. Заранее большое спасибо!
Код
Sub Ìàêðîñ1()
   Dim filetoopen As Variant
   Dim wbimportfile As Workbook
   filetoopen = Application.GetOpenFilename(Title:="Âûáåðèòå âûãðóçêó ñ Âûíãàïóðîâñêîãî ì/ð")
       If filetoopen <> False Then
   Set wbimportfile = Workbooks.Open(filetoopen)
   wbimportfile.Sheets("ÃÏÍ-Ìóðàâëåíêî").Range("A1:AA92").Select
   Application.CutCopyMode = False
     wbimportfile.Sheets("ÃÏÍ-Ìóðàâëåíêî").Range("A1:AA92").Copy Before:=Workbooks("Âûíãàïóðîâñêîå ïî öåõàì 2+10 ÖÎ 2021 + ÕÌÀÎ-ßÍÀÎ").Sheets("Âûíã").Range("A1:AA92")
       wbimportfile.Close (False)  
       End If
   End Sub
 
у метода Copy обьекта Range нет параметра Before
здесь:
wbimportfile.Sheets("ÃÏÍ-Ìóðàâëåíêî").Range("A1:AA92").Copy Before:=....
вы пытаетесь присвоить значение не существующему параметру

Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Сейчас вышла новая ошибка.application defined or object defined error 1004
Не подскажите, как можно исправить данную проблему.
Заранее спасибо.
Изменено: Сергеев Василий - 09.05.2021 15:01:47
 
определяйте обьект до того, как будете к нему обращаться, - ошибка исчезнет
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Сергеев Василий, код следует оформлять соответствующим тегом. Ищите такую кнопку (см. скрин) и исправьте своё стартовое сообщение.
И зачем раскрасили текст? Приведите сообщение в порядок.
 
Благодарю, исправил.

Код
Sheets("ÃÏÍ-Ìóðàâëåíêî").Range("A1:AA92").Copy Before:=Workbooks("Âûíãàïóðîâñêîå ïî öåõàì 2+10 ÖÎ 2021 + ÕÌÀÎ-ßÍÀÎ (Àâòîñîõðàíåííûé)").Sheets("Âûíã").Range("A1:AA92")
В данной строке появляется данная ошибка "application defined or object defined error 1004 vba"
Объекты определил перед тем, как к ним обратиться . Подскажите, в чём ошибка.
Спасибо.

Код
Sub Ìàêðîñ1()    Dim filetoopen As Variant
    Dim wbimportfile As Workbook
    filetoopen = Application.GetOpenFilename(Title:="Âûáåðèòå âûãðóçêó ñ Âûíãàïóðîâñêîãî ì/ð")
        If filetoopen <> False Then
    Set wbimportfile = Workbooks.Open(filetoopen)
    wbimportfile.Sheets("ÃÏÍ-Ìóðàâëåíêî").Range("A1:AA92").Select
        Application.CutCopyMode = False
        Sheets("ÃÏÍ-Ìóðàâëåíêî").Range("A1:AA92").Copy Before:=Workbooks("Âûíãàïóðîâñêîå ïî öåõàì 2+10 ÖÎ 2021 + ÕÌÀÎ-ßÍÀÎ (Àâòîñîõðàíåííûé)").Sheets("Âûíã").Range("A1:AA92")
        wbimportfile.Close (False) 
        End If
    End Sub
 
давайте пойдем по кругу
Цитата
Ігор Гончаренко написал:
у метода Copy обьекта Range нет параметра Before
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо, исправил ошибку. Изменил способ копирования. Новая ошибка.
object doesn't support this property or method error 438
Код
Sub Ìàêðîñ1()
  
     Dim filetoopen As Variant
    Dim wbimportfile As Workbook
    filetoopen = Application.GetOpenFilename(Title:="Âûáåðèòå âûãðóçêó ñ Âûíãàïóðîâñêîãî ì/ð")
        If filetoopen <> False Then
    Set wbimportfile = Workbooks.Open(filetoopen)
    wbimportfile.Sheets("ÃÏÍ-Ìóðàâëåíêî").Range("A1:AA92").Select
    Sheets("ÃÏÍ-Ìóðàâëåíêî").Range("A1:AA92").Copy
        Application.CutCopyMode = False
       Workbooks("Âûíãàïóðîâñêîå ïî öåõàì 2+10 ÖÎ 2021 + ÕÌÀÎ-ßÍÀÎ (Àâòîñîõðàíåííûé)").Activate
    Workbooks("Âûíãàïóðîâñêîå ïî öåõàì 2+10 ÖÎ 2021 + ÕÌÀÎ-ßÍÀÎ (Àâòîñîõðàíåííûé)").Sheets("Âûíã").Range("A1:AA92").Select
    Selection.Paste
        wbimportfile.Close (False) 
        End If
    End Sub
 
Уважаемый Василий! Не все читатели форума свободно владеют транслитом. Перед копированием текста в буфер обмена из редактора VBA переключайте клавиатуру на русский язык. Исправьте, пожалуйста, "кракозябры" в своих сообщениях.
Изменено: sokol92 - 09.05.2021 16:28:29
Владимир
 
Цитата
Сергеев Василий написал:
исправил.
Где же исправили? Я писал про стартовое сообщение. И цитируйте с умом и при необходимости: посмотрите #8 - даже размер файла  попал в цитату. Зачем???
 
Исправил в стартовом, убрал сообщение с бездумной цитатой.
Страницы: 1
Наверх