Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6

Invalid procedure call or argument

17.08.2020, 11:43. Показов 2681. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru