Excel runtime error 5 invalid procedure call or argument

  • Remove From My Forums
  • Question

  • I ran this with Excel 2016, the following errors occurred:

    Run-time error ‘5’ and the debug shows to line in bold as the source of error:

     

    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
            Formula1:=»=0.0″, Formula2:=»=0.649999″
        Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
        With Selection.FormatConditions(1).Interior
            .PatternColorIndex = xlColorIndexNone
            .ColorIndex = 3
        End With
        Selection.FormatConditions(1).StopIfTrue = True
        Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
            Formula1:=»=0.65″, Formula2:=»=0.799999″
        Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
        With Selection.FormatConditions(1).Interior
            .PatternColorIndex = xlColorIndexNone
            .ColorIndex = 6
        End With

    Please advise how to fix this

I need help with this macro. Every time I run it, I get the error below. I thought it was a simple macro that I could have anybody on my team use to make it take a less time than they were taking to manually create this PivotTable every time they ran the report. However, it’s not working. Please see error below and advise. I emboldened and italicized the error.

Error

Sub LEDOTTR()
'
' LEDOTTR Macro
'

'
    Range("A87").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    ***ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Sheet1!R87C1:R8214C25", Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="LED OTTR!R1C1", TableName:="PivotTable6", _
        DefaultVersion:=xlPivotTableVersion14***
    Sheets("LED OTTR").Select
    Cells(1, 1).Select
    With ActiveSheet.PivotTables("PivotTable6").PivotFields("LED")
        .Orientation = xlPageField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable6").PivotFields("Hierarchy name")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable6").PivotFields("LED").CurrentPage = "(All)"
    With ActiveSheet.PivotTables("PivotTable6").PivotFields("LED")
        .PivotItems("LED Marine").Visible = False
        .PivotItems("LL48 Linear LED").Visible = False
        .PivotItems("Other").Visible = False
    End With
    ActiveSheet.PivotTables("PivotTable6").PivotFields("LED"). _
        EnableMultiplePageItems = True
    ActiveSheet.PivotTables("PivotTable6").AddDataField ActiveSheet.PivotTables( _
        "PivotTable6").PivotFields("   Late " & Chr(10) & "Indicator"), "Sum of    Late " & Chr(10) & "Indicator", _
        xlSum
    ActiveSheet.PivotTables("PivotTable6").AddDataField ActiveSheet.PivotTables( _
        "PivotTable6").PivotFields("Early /Ontime" & Chr(10) & "   Indicator"), _
        "Sum of Early /Ontime" & Chr(10) & "   Indicator", xlSum
End Sub

pnuts's user avatar

pnuts

58k11 gold badges85 silver badges137 bronze badges

asked May 29, 2015 at 20:01

user3067028's user avatar

1

The answer to your problem is located here.

Your sheet name in TableDestination:="LED OTTR!R1C1" needs to be surrounded with single quotes in order for it to work TableDestination:="'LED OTTR'!R1C1"

You will also have problems with the duplicated name if you do not delete this PivotTable before rerunning the code.

answered May 29, 2015 at 22:27

Byron Wall's user avatar

Byron WallByron Wall

3,9602 gold badges13 silver badges29 bronze badges

2

In my case the trouble was related to the region settings in Windows. I downloaded a (protected) xlsm file from the internet and always got the «Run Time Error 5 — Invalid Procedure Call or Argument» error when opening it. The other answer hinted to me that it may have to do with the language settings. The scripts in the file were obviously programmed in German while my Windows was set to an English region.

In Windows 10 Settings > Time & Language > Region I changed Region as well as Regional format to German. After restarting Excel, the file worked.

answered Feb 2, 2020 at 11:38

n1000's user avatar

n1000n1000

4,94810 gold badges37 silver badges64 bronze badges

I’ve run into this, and the error was caused by calling the Worksheet.ExportAsFixedFormat method on a hidden worksheet.

I just added the if worksheet.Visible Then condition to my code to prevent getting the Invalid Procedure Call or Argument error.

answered Aug 18, 2020 at 20:55

David Namenyi's user avatar

While installing macro file to excel 2016 ribbon window getting below error when I debug the error. Below section was highlighed in yellow collor when clicked on debug

Set one = Application.CommandBars(«Worksheet Menu Bar»).Controls.Add(Type:= _
msoControlPopup, before:=onecount)

answered Apr 26, 2022 at 13:30

Manoj Pedekar's user avatar

2

Permalink

Cannot retrieve contributors at this time

title keywords f1_keywords ms.prod ms.assetid ms.date ms.localizationpriority

Invalid procedure call or argument (Error 5)

vblr6.chm1000005

vblr6.chm1000005

office

481b8431-b4ba-b368-2c5e-ade85b99348d

06/08/2017

medium

Some part of the call can’t be completed. This error has the following causes and solutions:

  • An argument probably exceeds the range of permitted values. For example, the Sin function can only accept values within a certain range. Positive arguments less than 2,147,483,648 are accepted, while 2,147,483,648 generates this error.

    Check the ranges permitted for arguments.

  • This error can also occur if an attempt is made to call a procedure that isn’t valid on the current platform. For example, some procedures may only be valid for Microsoft Windows, or for the Macintosh, and so on.

    Check platform-specific information about the procedure.

For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).

[!includeSupport and feedback]

 

Добрый день!    
Подскажите, пожалуйста… вот на этой строчке выдает ран тайм 5:  
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _  
       «Лист2!r1c1:r350c8», Version:=xlPivotTableVersion12). _  
       CreatePivotTable TableDestination:=»Лист1!r1c1″, TableName:= _  
       «Сводная таблица1», DefaultVersion:=xlPivotTableVersion12  
записал рекордером но при прогоне выдает ошибку

 

agregator

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

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

 

wilddaemon

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

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

{quote}{login=Lamer}{date=08.12.2011 11:25}{thema=Сводная таблица. Ошибка run-time error 5}{post}Добрый день!    
Подскажите, пожалуйста… вот на этой строчке выдает ран тайм 5:  
записал рекордером но при прогоне выдает ошибку{/post}{/quote}  
так может там уже есть сводная таблица, а вы на неё еще одну накладываете, вот и ошибку выдает. Если так, то удалите предыдущую сводную таблицу да и запустите записанное.  
Думаю, что так.

 

agregator => если выложу пример то меня уволят сразу:) запрет на отсылку файлов.  

  wilddaemon => неее, там чистый лист. пробовал даже удалять лист, закрывать эксель и заново прогонять, все равно выдает ошибку. В другом макросе смотрю, код идентичный и все работает.  

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

 

wilddaemon

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

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

{quote}{login=Lamer}{date=08.12.2011 05:12}{thema=}{post}  
wilddaemon =>  В другом макросе смотрю, код идентичный и все работает.  

  {/post}{/quote}  
может попробовать словить ошибку и вызвать Err.Description? Может тогда что-то проясниться?

 

{/post}{/quote}  
может попробовать словить ошибку и вызвать Err.Description? Может тогда что-то проясниться?{/post}{/quote}  

  А с этого места поподробнее можно? Как сие осуществить?

 

wilddaemon

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

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

в начале вашего кода (например перед строкой, которая выдает ошибку) поставить    

  On Error GoTo Errorcatch  

  «ваш код»  

  Exit Sub  
Errorcatch:  
MsgBox Err.Description  
End Sub

 

{quote}{login=wilddaemon}{date=08.12.2011 05:45}{thema=Re: Re: Re: }{post}в начале вашего кода (например перед строкой, которая выдает ошибку) поставить    

  On Error GoTo Errorcatch  

  «ваш код»  

  Exit Sub  
Errorcatch:  
MsgBox Err.Description  
End Sub{/post}{/quote}  

    Пишет  invalid procedure call or argument.  
То есть тот самый ран-тайм 5

 
 

А вы прикрепите маленький пример без секретной информации. Таблицу заполните словами: яблоки, апельсины, мандарины, тыквы и выложите её тут

 

{quote}{login=}{date=08.12.2011 05:57}{thema=}{post}А вы прикрепите маленький пример без секретной информации. Таблицу заполните словами: яблоки, апельсины, мандарины, тыквы и выложите её тут{/post}{/quote}  

  Да у меня и в этой нет секретной информации. но сам факт передачи файла доставит мне кучу проблем:)

 

Юрий М

Модератор

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

Контакты см. в профиле

 

wilddaemon

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

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

а может проблема не вэтой строке? я вот банально скопировал в новую книгу эту часть кода и всё создаётся.  
Может быть немного приоткрыть завесу над остальным содержимым кода? Может быть там следует рыться?

 

{quote}{login=wilddaemon}{date=08.12.2011 06:07}{thema=Re: Re: }{post}а может проблема не вэтой строке? я вот банально скопировал в новую книгу эту часть кода и всё создаётся.  
Может быть немного приоткрыть завесу над остальным содержимым кода? Может быть там следует рыться?{/post}{/quote}  

  Подсвечивается эта строка. но проблема похоже и правда не тут. сейчас удалил раскидывание по полям внутри сводной и спокойно эта строка отработала. Значит проблема где то тут:  

  ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _  
       «turn_allEXCEL!R1C1:R324C7», Version:=xlPivotTableVersion12). _  
       CreatePivotTable TableDestination:=»Свод!R1C1″, TableName:= _  
       «СводнаяТаблица3», DefaultVersion:=xlPivotTableVersion12  
   Sheets(«Свод»).Select  
   Cells(1, 1).Select  
   With ActiveSheet.PivotTables(«СводнаяТаблица1»).PivotFields(«Наименование»)  
       .Orientation = xlRowField  
       .Position = 1  
   End With  
   With ActiveSheet.PivotTables(«СводнаяТаблица1»).PivotFields(«Номер»)  
       .Orientation = xlRowField  
       .Position = 2  
   End With  
   ActiveSheet.PivotTables(«СводнаяТаблица1»).AddDataField ActiveSheet.PivotTables _  
       («СводнаяТаблица3»).PivotFields(«Исходящий (Д)»), «Сумма по полю Исходящий (Д)» _  
       , xlSum  
   ActiveSheet.PivotTables(«СводнаяТаблица1»).AddDataField ActiveSheet.PivotTables _  
       («СводнаяТаблица3»).PivotFields(«Исходящий (К)»), «Сумма по полю Исходящий (К)» _  
       , xlSum  
   ActiveSheet.PivotTables(«СводнаяТаблица1»).AddDataField ActiveSheet.PivotTables _  
       («СводнаяТаблица3»).PivotFields(«Итого»), «Сумма по полю Итого», xlSum

 

На самом деле путаницы с наименованиями таблиц нет, везде при обработке одинаково.    
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _  
       «turn_allEXCEL!R1C1:R324C7», Version:=xlPivotTableVersion12). _  
       CreatePivotTable TableDestination:=»Свод!R1C1″, TableName:= _  
       «СводнаяТаблица3», DefaultVersion:=xlPivotTableVersion12  
   Sheets(«Свод»).Select  
   Cells(1, 1).Select  
   With ActiveSheet.PivotTables(«СводнаяТаблица1»).PivotFields(«Наименование»)  
       .Orientation = xlRowField  
       .Position = 1  
   End With  
   With ActiveSheet.PivotTables(«СводнаяТаблица1»).PivotFields(«Номер»)  
       .Orientation = xlRowField  
       .Position = 2  
   End With  
   ActiveSheet.PivotTables(«СводнаяТаблица1»).AddDataField ActiveSheet.PivotTables _  
       («СводнаяТаблица1»).PivotFields(«Исходящий (Д)»), «Сумма по полю Исходящий (Д)» _  
       , xlSum  
   ActiveSheet.PivotTables(«СводнаяТаблица1»).AddDataField ActiveSheet.PivotTables _  
       («СводнаяТаблица1»).PivotFields(«Исходящий (К)»), «Сумма по полю Исходящий (К)» _  
       , xlSum  
   ActiveSheet.PivotTables(«СводнаяТаблица1»).AddDataField ActiveSheet.PivotTables _  
       («СводнаяТаблица1»).PivotFields(«Итого»), «Сумма по полю Итого», xlSum

 

wilddaemon

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

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

Я что-то не понял … когда создаете сводную — ее имя СводнаяТаблица3, а дальше по коду — СводнаяТаблица1  
.. я что-то пропустил? .. или здесь ошибка?

 

{quote}{login=wilddaemon}{date=08.12.2011 06:23}{thema=Re: }{post}Я что-то не понял … когда создаете сводную — ее имя СводнаяТаблица3, а дальше по коду — СводнаяТаблица1  
.. я что-то пропустил? .. или здесь ошибка?{/post}{/quote}  

  Неее, имена везде одинаковые, просто решил поменять циферки а в создании не поменял

 

wilddaemon

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

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

ну я даже не знаю…  
попробуй тогда перед строкой ошибки написать    

  on error resume next    

  .. а так действительно, без файла и не разобраться … у меня например ваш код отработал без ошибок. Может быть тогда дело в данных внутри исходной таблицы (форматы там или еще что.. .может там текст какой-то затисался) … Попробуйте в вашем файле удалить все данные на листе turn_allEXCEL кроме заголовков и посмотрите что будет..

 

Похоже самый простой вариант будет заключаться в том что я приду домой сделаю аналогичный файл и выложу его сюда. Хотя не удивлюсь если дома у меня все будет работать:)))

 

{quote}{login=wilddaemon}{date=08.12.2011 06:41}{thema=Re: Re: Re: }{post}ну я даже не знаю…  
попробуй тогда перед строкой ошибки написать    

  on error resume next    

  .. а так действительно, без файла и не разобраться … у меня например ваш код отработал без ошибок. Может быть тогда дело в данных внутри исходной таблицы (форматы там или еще что.. .может там текст какой-то затисался) … Попробуйте в вашем файле удалить все данные на листе turn_allEXCEL кроме заголовков и посмотрите что будет..{/post}{/quote}  

      У меня сейчас в данных присутствует текст и числа. Даже и не знаю в чем проблема может быть. ведь при рекордере все спокойно делается и не возникает никаких проблем. но если тут же прогоняю код в ВБА то появляется ошибка.

 

вот пример с Вашим кодом! все работает.  
если ошибка на первой строке кода, возможно это из-за того что столбцов исходных данных меньше 7. или сводная с таким именем уже существует!  
попробуйте!

 

а вот еще пример.    
может пригодится.  
без листа Свод!

 

)))    
и еще пример.  
удобнее!

 

{quote}{login=AKSENOV048}{date=08.12.2011 07:22}{thema=}{post})))    
и еще пример.  
удобнее!{/post}{/quote}  

    Спасибо! Все работает! Теперь только так и буду прописывать сводные таблички!

 

Lamer

Гость

#25

09.12.2011 11:57:40

AKSENOV048 и wilddaemon спасибо Вам огромное за помощь:)

Понравилась статья? Поделить с друзьями:
  • Excel rules for formulas
  • Excel rows to repeat
  • Excel select from oracle
  • Excel select data source
  • Excel select column from range