Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.99/88: Рейтинг темы: голосов - 88, средняя оценка - 4.99
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 18
1

Метод Delete из класса Range завершен неверно

25.08.2011, 15:50. Показов 16956. Ответов 34
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Имеется следующий код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
If NewWb.Sheets(j).Name = "Прайс-лист" Then
    NewWb.Sheets(j).Range("A10:I12").Select
    Selection.Delete
                
    NewWb.Sheets(j).Cells(41, 2).Value = "* Версия для печати"
                
    NewWb.Sheets(j).Range("A1").Select
Else
    NewWb.Sheets(j).Range("A7:K9").Select
    Selection.Delete ()
    NewWb.Sheets(j).Range("A1").Select
End If
При выполнении его в 2010 офисе все работает прекрасно, но при выполнении в 2003 вылетает следующая ошибка:
метод Delete из класса Range завершен неверно
При чем первй раз проходит по условию и удаляет диапазон ячеек без ошибок, а при втором проходе выходя на Else ловлю ошибку.
Пробовал использовать такой синтаксис: Selection.Delete (xlShiftUp) - тоже не помогло
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2011, 15:50
Ответы с готовыми решениями:

Метод AutoFill из класса Range завершён неверно
Добрый вечер. Подскажите пожалуйста. Есть макрос который ищет пустую ячейку в строке и...

Ошибка: метод PasteSpecial из класса Range завершен неверно
Вот такой код: Set c = c.Offset(1, 0).CurrentRegion c.Cut Worksheets('Лист1').Activate...

Ошибка метод AutoFill из класса Range завершён неверно
Почему строка, которая выделена ошибочна, там же нету ошибки. Private Sub CommandButton3_Click()...

Ошибка - Метод Select из класса WorkSheet завершен неверно
люди!!!! подскажите плиз такую вещь - обращаемся в excel из access при этом почему-то перестало...

34
357 / 163 / 27
Регистрация: 21.06.2011
Сообщений: 350
25.08.2011, 16:30 2
Вы хотите именно удалить или просто очистить ячейки
если последнее то так

Visual Basic
1
NewWb.Sheets(j).Range("A7:K9").clear
0
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 18
25.08.2011, 16:32  [ТС] 3
Нужно именно удалить
0
357 / 163 / 27
Регистрация: 21.06.2011
Сообщений: 350
25.08.2011, 16:34 4
Тогда так
Visual Basic
1
NewWb.Sheets(j).Range("A7:K9").Delete Shift:=xlUp
0
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 18
25.08.2011, 16:38  [ТС] 5
Та же ситуация(((
на 2010 работает, на 2003 не работает. ссылается на такую же ошибку(
0
357 / 163 / 27
Регистрация: 21.06.2011
Сообщений: 350
25.08.2011, 16:45 6
Файл дайте пощупать сразу станет ясно!
0
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 18
25.08.2011, 16:50  [ТС] 7
В модуле будет процедура "Private Sub PrintPrice()" - собственно юзать её

ссыль на файл:
http://download.nnover.ru/data... O_APZ.xlsm
0
357 / 163 / 27
Регистрация: 21.06.2011
Сообщений: 350
25.08.2011, 16:58 8
Чот не грузится файл
0
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 18
25.08.2011, 17:03  [ТС] 9
Вот на яндеске ссыль:
http://narod.ru/disk/228929360... .xlsm.html
0
0 / 0 / 0
Регистрация: 14.08.2011
Сообщений: 11
25.08.2011, 17:14 10
Блин крутой у тебя файл... Мне до тебя далеко....))
0
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 18
25.08.2011, 17:18  [ТС] 11
Я делал его на основе чужого... но переделал уже прилично)
к сожалению я VBA не знаю... делаю в основном методом научного тыка... и вот наткнулся((
Ссори за офтоп... просто мозг уже вынес мне этот прайс...
0
357 / 163 / 27
Регистрация: 21.06.2011
Сообщений: 350
25.08.2011, 17:19 12
Выключите в новом файле вначале автофильтр и будет вам счастье
1
1 / 1 / 0
Регистрация: 18.03.2011
Сообщений: 18
25.08.2011, 17:33  [ТС] 13
Watcher_1
Спасибо огромное)) помогло))
0
11517 / 3803 / 681
Регистрация: 13.02.2009
Сообщений: 11,222
25.08.2011, 19:45 14
попробуй так:
Visual Basic
1
2
3
4
            Else
               NewWb.Sheets(j).Range("A7:K9").Select
               Selection.AutoFilter
              Selection.Delete Shift:=xlUp
пока писАл - ответили
0
0 / 0 / 0
Регистрация: 04.07.2019
Сообщений: 15
15.03.2020, 06:26 15
Здравствуйте!

Проблема такая же, только у меня скрипт просто перестал работать. Т.е. 3 месяца работал исправно, а в один прекрасный момент начала появляться ошибка "Метод Delete из класса Range завершен неверно". Возможно в какой-то день проводилось обновление ПО и что-то теперь необходимо изменить. MS Excel 2016
Скрипт выполняет удаление первой строки в Excel фале, который лежит в папке загрузки.
Код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dim objFS, objExcel, objWB, strPath, strExt, strList
strPath = "C:\Users\Garold\Downloads\"
Set objFS = CreateObject("Scripting.FileSystemObject")
If objFS.FolderExists(strPath) Then
    Set objExcel = CreateObject("Excel.Application")
    For Each objItem In objFS.GetFolder(strPath).Files
        strExt = Left(LCase(objFS.GetExtensionName(objItem)), 3)
         If strExt = "xls" Or strExt = "xlsx" Or strExt = "xlsm" Then
            objExcel.Visible = False
            objExcel.DisplayAlerts = False
            Set objWB = objExcel.Workbooks.Open(objItem.Path)
            With objWB
                .Worksheets(1).Rows("1").Delete              
                .Save
                .Close
            End With
           strList = strList & objItem.Name & vbNewLine
         End If
    Next
    objExcel.Quit: Set objExcel = Nothing
    
    
End If
Set objFS = Nothing
WScript.Quit 0
0
help
4485 / 4085 / 812
Регистрация: 13.04.2015
Сообщений: 8,938
15.03.2020, 09:44 16
Цитата Сообщение от Antonioan7j Посмотреть сообщение
MS Excel 2016
Цитата Сообщение от Antonioan7j Посмотреть сообщение
Set objExcel = CreateObject("Excel.Application")
Вы в Excel создаёте объект Excel ? "У богатых свои причуды " (с)


Добавлено через 9 секунд
Цитата Сообщение от Antonioan7j Посмотреть сообщение
"1"
А почему в кавычках ?
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
15.03.2020, 09:47 17
I can, Посмотрите на последнюю строку
Цитата Сообщение от Antonioan7j Посмотреть сообщение
WScript.Quit 0
Явно скрипт просто использует Excel 2016
1
help
4485 / 4085 / 812
Регистрация: 13.04.2015
Сообщений: 8,938
15.03.2020, 09:52 18
Цитата Сообщение от pashulka Посмотреть сообщение
Посмотрите на последнюю строку
Понятно
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
15.03.2020, 09:54 19
А вот зачем в цикле менять значения свойств Visible и DisplayAlerts мне непонятно
0
0 / 0 / 0
Регистрация: 04.07.2019
Сообщений: 15
15.03.2020, 10:25 20
Мне этот код посоветовали на этом форуме. Я с программированием далеко на Вы, поэтому прошу помощи.
0
15.03.2020, 10:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2020, 10:25
Помогаю со студенческими работами здесь

ошибка "Метод paste из класса worksheet завершен неверно"
Private Sub CommandButton1_Click() Dim b As String Dim str As String b =...

Метод PasteSpecial завершен неверно
Добрый день! Уже были такие темы видел. Но не могу разобраться в чем у меня то проблема с этой...

Метод AutoFilter из класса Range завершен неверно
Microsoft.Office.Interop.Excel.Application xlsApp = new...

Метод AutoFilter из класса Range завершен неверно
Ошибся, создал тему в другом разделе:( ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru