Ошибка wrong number of arguments or invalid property assignment

First you had an issue of declaring your ranges, C4 as itself in VBA is considered as a variable, you need to use one these :

[C4] or Range("C4") or Cells(4,3) or Cells(4,"C")

So your lines or defining ranges should look like this :

Set source1 = Worksheets("Filter").Range([C4], [C6498])
Set target1 = Worksheets("30").Range(Range("A2"), Range("AP95787"))

Secondly, the .Height property will give you the size of the range, not the number of rows, to get the number of rows, you need to use Range(...).Rows.Count

source_size = source1.Rows.count
target_size = target1.Rows.count

Here is your full code :

Option Explicit
Public Function generate() As Integer
Dim source_size As Long
Dim target_size As Long
Dim i As Long
Dim j As Long
Dim count As Long
Dim source1 As Range
Dim target1 As Range

Set source1 = Worksheets("Filter").Range("C4:C6498")
Set target1 = Worksheets("30").Range("A2:AP95787")
source_size = source1.Rows.count
target_size = target1.Rows.count

For i = 1 To source_size Step 1
    For j = 1 To target_size Step 1
        If Application.source1.Cells(i, 1).Value = target1.Cells(j, 5).Value Then
            target1.Rows(j).Select
            'Selection.Copy
            Worksheets("result").Range("A1").Rows("1:1").Insert Shift:=xlDown
        End If
    Next j
Next i
generate = 0
End Function

 

kkrasilov

Пользователь

Сообщений: 26
Регистрация: 03.03.2015

Добрый день!

Мне в коде нужно узнать кол-во дней в месяце, пишу Day(Month(10)), vba переводит все с маленькой буквы day(month(10)) и выдает ошибку

Wrong number of arguments or invalid property assignment

Тот же самый код нормально работает в другой книге, с такими же библиотеками.
Подскажите пожалуйста, в чем может быть проблема?
Спасибо!

 

Hugo

Пользователь

Сообщений: 23374
Регистрация: 22.12.2012

В библиотеках missing нет?

 

kkrasilov

Пользователь

Сообщений: 26
Регистрация: 03.03.2015

Missing тоже нету.

Изменено: kkrasilov28.10.2015 16:39:01

 

kkrasilov

Пользователь

Сообщений: 26
Регистрация: 03.03.2015

Пробовал также прописать Microsoft.VisualBasic.DateAndTime.Day(Month(10)), не получается.

 

The_Prist

Пользователь

Сообщений: 14266
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#5

28.10.2015 16:58:34

Функция Day в качестве аргумента принимает ДАТУ. И возвращает номер текущего дня. Т.е. для Day(Now) будет возвращено 28, т.к. сегодня 28.10.2015. И Month так же работает, только возвращает номер месяца.
А чтобы узнать кол-во дней в месяце надо делать так:

Код
Day(DateSerial(Year(now),Month(now)+1,0))

вернет кол-во дней в текущем месяце.

P.S. Скобочку одну в конце забыл.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

kkrasilov

Пользователь

Сообщений: 26
Регистрация: 03.03.2015

Та же ошибка, выделяет month, и пишет Wrong number of arguments or invalid property assignment

 

Sanja

Пользователь

Сообщений: 14850
Регистрация: 10.01.2013

#7

28.10.2015 17:03:20

Цитата
kkrasilov написал: Та же ошибка,

Ну значит настало время показать проблемный файл

Согласие есть продукт при полном непротивлении сторон.

 

The_Prist

Пользователь

Сообщений: 14266
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Тогда проверьте, не объявлена ли в проекте где-то переменная, функция или процедура, с таким же названием: Day(или Month).
А еще лучше сюда выложите проект.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Hugo

Пользователь

Сообщений: 23374
Регистрация: 22.12.2012

У меня msgbox Day(Month(10)) выводит 31. Откуда оно его берёт  — не понял :(

 

Doober

Пользователь

Сообщений: 2232
Регистрация: 09.04.2013

#10

28.10.2015 17:18:01

Цитата
Hugo написал:  Откуда оно его берёт  — не понял
Код
Dim d As Date
d = Month(10)
Debug.Print "d = " & d
'd = 31.12.1899

:)

 

kkrasilov

Пользователь

Сообщений: 26
Регистрация: 03.03.2015

Вот файл. Код не работает в любом месте.  

 

Hugo

Пользователь

Сообщений: 23374
Регистрация: 22.12.2012

Doober, — я видел что там 1, но не могу допереть почему 1=31.12.1899
Вернее не не могу, а не стараюсь :)
Была мысль что вероятно первым днём отсчёта будет 31 декабря какого-то там лохматого года по фиг знает каким причинам…

Изменено: Hugo28.10.2015 17:35:30

 

kkrasilov

Пользователь

Сообщений: 26
Регистрация: 03.03.2015

#13

28.10.2015 17:49:11

Проверил весь проект. Нашел переменную month, как и говорил

The_Prist

! Спасибо большое за советы! Тему можно закрывать)

Icon Ex Номер ошибки: Ошибка во время выполнения 450
Название ошибки: Wrong number of arguments or invalid property assignment
Описание ошибки: The number of arguments to a procedure must match the number of parameters in the procedure’s definition.
Разработчик: Microsoft Corporation
Программное обеспечение: Windows Operating System
Относится к: Windows XP, Vista, 7, 8, 10, 11

«Wrong number of arguments or invalid property assignment» Введение

«Wrong number of arguments or invalid property assignment» обычно называется формой «ошибки времени выполнения». Когда дело доходит до Windows Operating System, инженеры программного обеспечения используют арсенал инструментов, чтобы попытаться сорвать эти ошибки как можно лучше. К сожалению, такие проблемы, как ошибка 450, могут быть пропущены, и программное обеспечение будет содержать эти проблемы при выпуске.

Некоторые пользователи могут столкнуться с сообщением «The number of arguments to a procedure must match the number of parameters in the procedure’s definition.» при использовании Windows Operating System. Когда это происходит, конечные пользователи программного обеспечения могут сообщить Microsoft Corporation о существовании ошибки 450 ошибок. Разработчик сможет исправить свой исходный код и выпустить обновление на рынке. Следовательно, разработчик будет использовать пакет обновления Windows Operating System для устранения ошибки 450 и любых других сообщений об ошибках.

Что на самом деле вызывает ошибку времени выполнения 450?

Ошибки выполнения при запуске Windows Operating System — это когда вы, скорее всего, столкнетесь с «Wrong number of arguments or invalid property assignment». Три распространенные причины, по которым ошибки во время выполнения, такие как всплывающее окно ошибки 450:

Ошибка 450 Crash — Ошибка 450 может привести к полному замораживанию программы, что не позволяет вам что-либо делать. Это возникает, когда Windows Operating System не работает должным образом или не знает, какой вывод будет подходящим.

Утечка памяти «Wrong number of arguments or invalid property assignment» — ошибка 450 утечка памяти приводит к тому, что Windows Operating System постоянно использует все больше и больше памяти, увяская систему. Потенциальные триггеры могут быть бесконечным циклом, что приводит к тому, что работа программы запускается снова и снова.

Ошибка 450 Logic Error — Компьютерная система создает неверную информацию или дает другой результат, даже если входные данные являются точными. Виновником в этом случае обычно является недостаток в исходном коде Microsoft Corporation, который неправильно обрабатывает ввод.

Основные причины Microsoft Corporation ошибок, связанных с файлом Wrong number of arguments or invalid property assignment, включают отсутствие или повреждение файла, или, в некоторых случаях, заражение связанного Windows Operating System вредоносным ПО в прошлом или настоящем. Как правило, решить проблему позволяет получение новой копии файла Microsoft Corporation, которая не содержит вирусов. Запуск сканирования реестра после замены файла, из-за которого возникает проблема, позволит очистить все недействительные файлы Wrong number of arguments or invalid property assignment, расширения файлов или другие ссылки на файлы, которые могли быть повреждены в результате заражения вредоносным ПО.

Ошибки Wrong number of arguments or invalid property assignment

Эти проблемы Windows Operating System, связанные с Wrong number of arguments or invalid property assignment, включают в себя:

  • «Ошибка Wrong number of arguments or invalid property assignment. «
  • «Недопустимая программа Win32: Wrong number of arguments or invalid property assignment»
  • «Wrong number of arguments or invalid property assignment должен быть закрыт. «
  • «К сожалению, мы не можем найти Wrong number of arguments or invalid property assignment. «
  • «Wrong number of arguments or invalid property assignment не может быть найден. «
  • «Проблема при запуске приложения: Wrong number of arguments or invalid property assignment. «
  • «Не удается запустить Wrong number of arguments or invalid property assignment. «
  • «Wrong number of arguments or invalid property assignment остановлен. «
  • «Ошибка в пути к программному обеспечению: Wrong number of arguments or invalid property assignment. «

Обычно ошибки Wrong number of arguments or invalid property assignment с Windows Operating System возникают во время запуска или завершения работы, в то время как программы, связанные с Wrong number of arguments or invalid property assignment, выполняются, или редко во время последовательности обновления ОС. Важно отметить, когда возникают проблемы Wrong number of arguments or invalid property assignment, так как это помогает устранять проблемы Windows Operating System (и сообщать в Microsoft Corporation).

Создатели Wrong number of arguments or invalid property assignment Трудности

Проблемы Windows Operating System и Wrong number of arguments or invalid property assignment возникают из отсутствующих или поврежденных файлов, недействительных записей реестра Windows и вредоносных инфекций.

Более конкретно, данные ошибки Wrong number of arguments or invalid property assignment могут быть вызваны следующими причинами:

  • Недопустимый Wrong number of arguments or invalid property assignment или поврежденный раздел реестра.
  • Вирус или вредоносное ПО, повреждающее Wrong number of arguments or invalid property assignment.
  • Wrong number of arguments or invalid property assignment злонамеренно или ошибочно удален другим программным обеспечением (кроме Windows Operating System).
  • Другая программа, конфликтующая с Wrong number of arguments or invalid property assignment или другой общей ссылкой Windows Operating System.
  • Неполный или поврежденный Windows Operating System (Wrong number of arguments or invalid property assignment) из загрузки или установки.

Продукт Solvusoft

Загрузка
WinThruster 2023 — Проверьте свой компьютер на наличие ошибок.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

2 / 2 / 0

Регистрация: 29.09.2010

Сообщений: 207

1

28.01.2014, 01:04. Показов 19160. Ответов 17


Студворк — интернет-сервис помощи студентам

При выполнении этой программки вылетает вот такое сообщение: Wrong number of arguments or invalid property assignment. В чём проблема? Строго не судите, изучаю VBA аж второй день)

Миниатюры

Wrong number of arguments or invalid property assignment (Error 450)
 



0



98 / 49 / 0

Регистрация: 14.08.2013

Сообщений: 230

Записей в блоге: 4

28.01.2014, 07:16

2

vbCritical + vbOkOnly — вот твоя проблема, должно быть что-то одно!



0



здесь больше нет…

3372 / 1670 / 184

Регистрация: 03.02.2010

Сообщений: 1,219

28.01.2014, 10:13

3

Цитата
Сообщение от DimN
Посмотреть сообщение

vbCritical + vbOkOnly — вот твоя проблема, должно быть что-то одно!

это не так, почему не могут быть вместе красный крест и кнопка «ОК» (см. рис.)

я думаю нужно искать в Tools/References…

Missing‘и

Изображения

 



0



Модератор

Эксперт MS Access

11400 / 4710 / 759

Регистрация: 07.08.2010

Сообщений: 13,662

Записей в блоге: 4

28.01.2014, 10:38

4

ДЕЛО в private sub
=====
в програмке параметра нет, а вызывается она откуда-то с параметром



0



2 / 2 / 0

Регистрация: 29.09.2010

Сообщений: 207

28.01.2014, 13:42

 [ТС]

5

Цитата
Сообщение от shanemac51
Посмотреть сообщение

в програмке параметра нет, а вызывается она откуда-то с параметром

Что это за параметр? И откуда он взялся, если я программку не изменял?



0



5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

28.01.2014, 14:42

6

У меня работает.
Вероятно на форме нет контрола OptionButton4 .



0



5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

28.01.2014, 14:59

7

Обратите внимание на разницу в срабатывании клика по OptionButton3 и OptionButton4 в файле примера.
Правда и тот и другой без ошибок.
Секрет в редактировании модуля в Word со вставкой неразрывных пробелов в выражение vbCritical* + *vbOkOnly и последующем импортировании модуля в файл Excel.

Миниатюры

Wrong number of arguments or invalid property assignment (Error 450)
 



0



2 / 2 / 0

Регистрация: 29.09.2010

Сообщений: 207

28.01.2014, 15:48

 [ТС]

8

KoGG, так мне что, постоянно в Ворде писать, а потом переносить в Эксель?

И вот, мой файл со всеми прибамбасами, которые за вчера сочинил. Может, так понятнее будет.



0



Апострофф

Заблокирован

28.01.2014, 15:50

9

Yoooo, если бы вы приложили файл с проблемой вместо картинки, задача давно была бы решена.



0



2 / 2 / 0

Регистрация: 29.09.2010

Сообщений: 207

28.01.2014, 15:52

 [ТС]

10

Апострофф, уже сделал)



0



KoGG

5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

28.01.2014, 16:11

11

Лучший ответ Сообщение было отмечено Yoooo как решение

Решение

Я привел пример в качестве прикола, как делать не надо, но Вас так могут надуть.
Тем не менее не оскудеет идиотами земля русская.
В Module1 приложенного файла я обнаружил процедуру:

Visual Basic
1
2
3
4
5
6
7
8
Sub MsgBox()
Da = MsgBox("Вам понравился пример?", vbYesNo, "Примерчик))")
If Da = vbYes Then
    MsgBox "Це добре", vbInformation, "Primer"
Else
    MsgBox "Це погано", vbInformation, "Primer"
End If
End Sub

Именно эта процедура и вызывает ошибку, так как нельзя называть свои процедуры, функции и переменные словами, зарезервированными в языке.



1



2 / 2 / 0

Регистрация: 29.09.2010

Сообщений: 207

28.01.2014, 16:22

 [ТС]

12

KoGG, блиииин… Это ж надо было так ошибиться. Зато, теперь навсегда это запомню.
Спасибо за решение.



0



mrf

12 / 12 / 4

Регистрация: 16.03.2012

Сообщений: 252

28.09.2016, 11:02

13

Здравствуйте,
почему работает это:

Visual Basic
1
2
3
4
5
6
7
8
9
Sub grey(control As IRibbonControl)
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 10921638
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

А это выводит ошибку Wrong number of arguments or invalid property assignment :

Visual Basic
1
2
3
Sub lastrowme(control As IRibbonControl)
Range("c" & Range("c1").End(xlDown).Row + 1).Select
End Sub

все же верно…. должно быть……. вроде….?



0



Shersh

Заблокирован

28.09.2016, 11:19

14

Цитата
Сообщение от Yoooo
Посмотреть сообщение

Это ж надо было так ошибиться

mrf, поищите в своем проекте, где и зачем вы переопределили Range?
(можно попробовать ПКМ на этом слове -> Definition)



0



KoGG

5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

28.09.2016, 11:32

15

mrf первый фрагмент работает, потому что там нет действия .Select и сравнивать его со 2-м — бессмысленно.

Если в столбце С ничего нет, то строка

Visual Basic
1
Range("c" & Range("c1").End(xlDown).Row + 1).Select

вызовет ошибку , так как мы пытаемся выделить строку, ниже максимального количества строк.

Если нет ни одной открытой книги — ошибка, негде взять Range, нет активного листа.

В обоих случаях это «Application-degined or object-defined error» (Офис 2010)



0



mrf

12 / 12 / 4

Регистрация: 16.03.2012

Сообщений: 252

28.09.2016, 11:43

16

да вроде нигде…
попробывал иначе:
модуль риббона:

Visual Basic
1
2
3
Sub lastrowme(control As IRibbonControl)
lastrow
End Sub

другой модуль:

Visual Basic
1
2
3
Sub lastrow
Range("c" & Range("c1").End(xlDown).Row + 1).Select
End Sub

так вот lastrow отдельно работает, и все ок даже на сочетание клавиш, а в связке с риббоном- нет..

На сколько понимаю, если проблема с RANGE, то не работало бы и в др. мете.. или не так?

Добавлено через 1 минуту
Когг, да есть все И лист и книга и строчки..
С риббона не работает, а отдельно работает… И так с половиной рибонна сейчас у меня..
Половина запускается, а половина — нет..



0



Shersh

Заблокирован

28.09.2016, 11:51

17

Попробуйте заменить

Цитата
Сообщение от mrf
Посмотреть сообщение

Range

на Excel.Range?



0



12 / 12 / 4

Регистрация: 16.03.2012

Сообщений: 252

28.09.2016, 12:49

18

не работает…

Добавлено через 50 минут
вроде нашел ошибку. Если есть 2 идентичных макроса по содержанию (хоть и с разными названиями и на разных листах), один из которых с control As IRibbonControl, а второй -нет , то не работает макрос с риббона.
вот, например, был макрос lastrowme (As IRibbonControl) с текстом как lastrow — не работал. Удалил макрос lastrow, и сразу
lastrowme заработал. Также проверил сейчас по двум другим макросам с риббона с аналогичной проблемой — проблема ушла.
Теперь придется что-то думать о переделке, т.к. один макрос с риббона работал, а второй с кнопки на листе делал тоже самое.. Теперь понятно, что так нельзя.



0



Error 800A01C2 – Wrong number of arguments of invalid property
assignment.

June 30, 2004

Error Codes, Logon

Troubleshooting Error 800A01C2 – Wrong number of arguments of invalid property assignment.

Error 800A01C2 is a tricky problem.  Check to see if your script needs an extra ‘Set’ Command

Introduction to Code 800A01C2

Error code, 800A01C2 occurs when you execute a VBScript.  This is a runtime error, therefore check the names of your objects.  Error 800A01C2 - Object not a collection

The Symptoms You Get

The script does not execute as you had hoped. Instead you get a message box like this picture:  (Screen shot kindly sent in by Jim Wells.)

The Cause of Code 800A01C2

The best clue to the error comes at the end of the line, the word ‘objUser’.  objUser is a valid object and term, therefore we need to investigate what is missing.  I solved the problem by comparing with another script, which executed perfectly.  It turned out that ‘Set’ was required in front of objUser.

Incidentally, Source: reports a runtime error not a compilation error, this means you are looking not for a pure syntax problem, but a fault logic error.  In the case of runtime errors, you can use this temporary work around.  Add this statement just before the line which errors: On Error Resume Next.

The Solutions Wrong number of arguments of invalid property assignment.

Check the names in your script, pay particular attention to object names.  Note: The Line: 6 Char: 1  In this case it is not Char 1 to blame, more that there is something wrong and none of the line can execute.  In this case it should be Set objUser =

As a last resort, in the case of runtime errors, you can add this line:
On Error Resume Next.

  ‡

Example of Error 800A01C2 Script

Note: The Line: 6 objUser

The script needs a ‘Set’ command before objUser

‘CREATE USER AND SET PASSWORD
strcn = bilbo56
strsam= bilbo56
strpasswd = pauline1
Set objOU=GetObject(«LDAP://ou=Droitwich,dc=cp,dc=com»)
objUser = objOU.Create(«User»,»cn=bilbo56″)
objUser.Put «sAMAccountName»,»bilbo56″
ObjUser.SetInfo
objUser.SetPassword strpasswd

Corrected Version

‘CREATE USER AND SET PASSWORD
strcn = bilbo56
strsam= bilbo56
strpasswd = pauline1
Set objOU=GetObject(«LDAP://ou=Droitwich,dc=cp,dc=com»)
Set objUser = objOU.Create(«User»,»cn=bilbo56″)
objUser.Put «sAMAccountName»,»bilbo56″
ObjUser.SetInfo
objUser.SetPassword strpasswd

See More Windows Update Error Codes 8004 Series

• Error 800A101A8 Object Required   •Error 800A0046   •Error 800A10AD   •Error 800A000D

• Error 80048820   •Error 800A0401   •Review of SolarWinds Permissions Monitor

• Error 80040E14   • Error 800A03EA   • Error 800A0408   • Error 800A03EE

Solarwinds Free WMI MonitorGuy Recommends: WMI Monitor and It’s Free!

Windows Management Instrumentation (WMI) is one of the hidden treasures of Microsoft operating systems.  Fortunately, SolarWinds have created the WMI Monitor so that you can examine these gems of performance information for free.  Take the guess work out of which WMI counters to use for applications like Microsoft Active Directory, SQL or Exchange Server.

Download your free copy of WMI Monitor


Do you need additional help?

  • For interpreting the WSH messages check Diagnose 800 errors.
  • For general advice try my 7 Troubleshooting techniques.
  • See master list of 0800 errors.
  • Codes beginning 08004…
  • Codes beginning 08005…
  • Codes beginning 08007…
  • Codes beginning 0800A…

Give something back?

Would you like to help others?  If you have a good example of this error, then please email me, I will publish it with a credit to you:

If you like this page then please share it with your friends


About The Author

Guy Recommends: WMI Monitor and It’s Free!

Windows Management Instrumentation (WMI) is one of the hidden treasures of Microsoft operating systems.  Fortunately, SolarWinds have created the WMI Monitor so that you can examine these gems of performance information for free.  Take the guess work out of which WMI counters to use for applications like Microsoft Active Directory, SQL or Exchange Server.

Download your free copy of WMI Monitor


Do you need additional help?

  • For interpreting the WSH messages check Diagnose 800 errors.
  • For general advice try my 7 Troubleshooting techniques.
  • See master list of 0800 errors.
  • Codes beginning 08004…
  • Codes beginning 08005…
  • Codes beginning 08007…
  • Codes beginning 0800A…

Give something back?

Would you like to help others?  If you have a good example of this error, then please email me, I will publish it with a credit to you:

If you like this page then please share it with your friends


About The Author

Guy Thomas

Понравилась статья? Поделить с друзьями:
  • Ошибка x119 недоступен компонент scanengine
  • Ошибка wps spreadsheets при открытии файла
  • Ошибка written to disk torrent
  • Ошибка x0005 не удалось загрузить видеофайл
  • Ошибка wow51900319 как исправить на русском