Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6

Invalid procedure call or argument

17.08.2020, 11:43. Показов 2595. Ответов 26
Метки vba (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток всем
Есть такой скрипт:
Кликните здесь для просмотра всего текста

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Sub AutoForm()
 
' --------------
' Перенос ячеек
' --------------
    Range("A3").Cut Range("C2")
 
    Range("A23").Cut Range("D2")
    Range("C23:C42").Cut Range("D3")
 
    Range("A43").Cut Range("E2")
    Range("C43:C62").Cut Range("E3")
 
    Range("A63").Cut Range("F2")
    Range("C63:C82").Cut Range("F3")
 
    Range("A83").Cut Range("G2")
    Range("C83:C102").Cut Range("G3")
 
    Range("A103").Cut Range("H2")
    Range("C103:C122").Cut Range("H3")
 
    Range("A123").Cut Range("I2")
    Range("C123:C142").Cut Range("I3")
 
    Range("A143").Cut Range("J2")
    Range("C143:C162").Cut Range("J3")
 
    Range("A163").Cut Range("K2")
    Range("C163:C182").Cut Range("K3")
 
    Range("A183").Cut Range("L2")
    Range("C183:C202").Cut Range("L3")
 
    Range("A203").Cut Range("M2")
    Range("C203:C222").Cut Range("M3")
 
    Range("A223").Cut Range("N2")
    Range("C223:C242").Cut Range("N3")
 
    Range("A243").Cut Range("O2")
    Range("C243:C262").Cut Range("O3")
       
' ----------------------
' Перемещение диаграммы
' ----------------------
'    ActiveSheet.Shapes("Диаграмма 1").IncrementLeft 46.3636220472
'    ActiveSheet.Shapes("Диаграмма 1").IncrementTop 316.3636220472
    
' ---------------------
' Изменение значений X
' ---------------------
'ActiveSheet.ChartObjects("Диаграмма 1").Activate
 
    ActiveSheet.ChartObjects("Диаграмма 1").Activate
    ActiveChart.FullSeriesCollection(2).Select
    ActiveChart.FullSeriesCollection(2).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(3).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(4).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(5).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(6).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(7).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(8).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(9).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(10).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(11).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(12).XValues = "=Лист1!$B$3:$B$22"
    
' ----------------------------
' Удаление прежних значений X
' ----------------------------
    Range("B23:B252").Select
    Selection.ClearContents
    
' ----------------------------
' Удаление заливки
' ----------------------------
    Cells.Select
    Range("B23").Activate
    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
        
End Sub

Там, где кат-паст - я писал сам, а работу с графиком - через рекорд макрос.
При отладке спотыкается на строке
Visual Basic
1
ActiveSheet.ChartObjects("Диаграмма 1").Activate
с ошибкой
Run-time error '5': Invalid procedure call or argument

Ок, ординарной кавычкой закомментирую строки:
Visual Basic
1
2
    'ActiveSheet.ChartObjects("Диаграмма 1").Activate
    'ActiveChart.FullSeriesCollection(2).Select
Теперь код с графиком будет такой:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
ActiveChart.FullSeriesCollection(2).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(3).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(4).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(5).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(6).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(7).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(8).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(9).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(10).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(11).XValues = "=Лист1!$B$3:$B$22"
    ActiveChart.FullSeriesCollection(12).XValues = "=Лист1!$B$3:$B$22"
Почему отладчик спотыкается на первой строке?
Ошибка Run-time error '91': Object variable or With block variable not set
Куда и какой With мне втыкнуть?

Добавлено через 1 минуту
А, да, версия Excel 2013
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.08.2020, 11:43
Ответы с готовыми решениями:

Invalid procedure call or argument
здравствуйте, Ворд 2003, как можно на строке SelectionText = Selection.Text 'откидываем три первые буквы выделенного текста ...

Invalid procedure call or argument
здравствуйте, искал в интеренете ответа не нашел, для каждой задачи свое решение ошибка в этой строке For Each entry In...

Ошибка: Invalid procedure call or argument. Что не так?
Имеется код. Он вроде считает, а вроде и нет. Выдает ошибку: Invalid procedure call or argument. Private Sub CommandButton1_Click() ...

26
Заблокирован
18.08.2020, 00:18
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от anton-sf Посмотреть сообщение
добавлю
Range = ActiveBook.ActiveSheet.Range
очень ошибетесь однажды, когда код ваш окажется в модуле листа.
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.08.2020, 00:20
Цитата Сообщение от passedbyz Посмотреть сообщение
очень ошибетесь однажды, когда код ваш окажется в модуле листа
при каких условиях ?

Добавлено через 1 минуту
а, ясно, если макрос вызывается с другого листа не переключаясь на вызываемый
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.08.2020, 00:35
Цитата Сообщение от anton-sf Посмотреть сообщение
а, ясно, если макрос вызывается с другого листа не переключаясь на вызываемый
Затестил - вызывал из листа1 макрос листа2, в котором пишется range(1,1).value = range(1,1).worksheet.name, так вот, запись произошла именно в лист2 и именно имя листа2.
Но да, я очередной раз затупил, имел ввиду this а написал active, так что поправлю

Range = ThisWorkbook.ThisWorksheet.Range
.Range = вызовет ошибку если не в блоке With
ActiveSheet.Range = ActiveBook.ActiveSheet.Range
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.08.2020, 00:45
Да, то что если объявлена как Range то тут я в курсе что определение не работает, оно вообще не применимо, речь в посте о написании кода с обращением к оператору Range
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.08.2020, 00:52
цитата из справки по Range

Remarks
When used without an object qualifier, this property is a shortcut for ActiveSheet.Range (it returns a range from the active sheet; if the active sheet isn’t a worksheet, the property fails).


Что означает моё первое определение соответствующим справке (active), но на деле у меня работает второе определение (this)

passedbyz, ответь по-делу, а не вменяемость/не вменяемость показывай
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.08.2020, 00:54
Вот файлик в подтверждении this
Вложения
Тип файла: xls Книга1.xls (24.0 Кб, 0 просмотров)
0
 Аватар для anton-sf
128 / 64 / 14
Регистрация: 29.03.2015
Сообщений: 265
18.08.2020, 01:06
Проверил так: запустил из активной книги2 макрос книги1.лист2.макрос, но в книге1 выбран лист1, так вот, макрос записал имя листа2 именно книги1 на листе2 без явных указаний (range(1,1).value = range(1,1).worksheet.name), так что моё определение что Range = ThisWorkbook.ThisWorksheet.Range я подтвердил. С ситуациями когда это не так я не сталкивался, passedbyz, будь человеком, опиши такую ситуацию

Добавлено через 6 минут
А, дополню что мои определяния написаны для Excel 2003, не Word
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.08.2020, 01:06

Run time error '5' invalid procedure call or argument
Option Explicit Sub Reshenie() Const e = 2.71828182846 Dim y As Double, A As Double, B As Double ' îáúÿâèë ïåðåìåííûå ...

Ошибка : Invalid procedure call of argument . Что не так ?
Private Sub Module1() Dim L, a, b As Double L = 14 a = 40 b = 30 Dim V As Double V = (L ^ 3 * Sin(2 * a) * Sin(b) * Cos(a)) /...

Ошибка: Run-time error '5', Invalid procedure call or argument
Вообщем сделал программу всё работала пока не дописал выражение до конца и тут бах ошибочка. Вот код: Private Sub CommandButton1_Click() ...

Функция Replace приводит к ошибке Run-time error ‘5’: Invalid procedure call or argument.
Прошу, подскажите в чем ошибка и как быть в следующей ситуации: Сбрасываю содержимое поля типа Гиперссылка в переменную типа String ...

Ошибка "Invalid procedure call or argument" при вычислении синуса
Вообщем такое дело,есть код: Private Sub CommandButton1_Click() x = CInt(TextBox1.Text) ' ввод значения x в форме ...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс Ссылка на сгенерированную музыкальную композицию: https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013 Я говорю, что Время- как вода течет. . .
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru