Runtime error 1004 общая ошибка odbc

We are using shared folder in server where we keep all excel sheets based on our business requirement so whoever requires that document he will picked up that document from that shared folder and he will receive all update/manipulated data by clicking on «Refresh» button in «Data» tab in excel 2007,so in my organization everybody pc is working fine and they are getting updated data by refreshing document but in my pc the movement i click on refresh i am getting this error which is in image below please provide me a clear answer.

Sub TT_Out()
' ' Macro2 Macro

Dim RngFromDate, RngToDate
RngFromDate = InputBox("Enter Start Date !", "TT Out", Date - 1)
RngToDate = InputBox("Enter End Date !", "TT Out", RngFromDate)

With Range("Table_Query_from_ALXORCL[TT_OUT_DATE]").ListObject.QueryTable
    .Connection = Array(Array( _
        "ODBC;DRIVER={Oracle in instantclient_12_1};" & _
              "SERVER=ALXORCL;UID=ALXLIVE;PWD=alx123;" & _
              "DBQ=ALXORCL;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;F"), _
        Array("DL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;" & _
              "DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=60000;TLO=O;" & _
              "MLD=0;ODA=F;STE=F;TSZ=8"), Array("192;"))
    .CommandText = Array( _
        " SELECT ALX_TT_OUT.TT_OUT_CODE, " & _
        "        ALX_TT_OUT.TT_OUT_DATE, " & _
        "        ALX_TT_OUT.F_NAME, " & _
        "        ALX_TT_OUT.B_F_NAME, " & _
        "        ALX_TT_OUT.SENDING_PRPS, " & _
        "        ALX_LOOKUP_DET.LOOKUP_DET_NAME||'-'||ALX_TT_OUT.DOC_NO, " & _
        "        ALX_PRODUCT.PRODUCT_CODE, " & _
        "        ALX_TT_OUT.QTY*ALX_TT_OUT.SELL_RATE, " & _
        "        ALX_CORRESPONDENT.CORRESPONDENT_NAME" & Chr(13) & Chr(10) & _
        " FROM ALXTEST.ALX_CORRESPONDENT ALX_CORRESPONDENT, ALXTEST2.ALX_LOOKUP_DET ALX_LOOKUP_DET, ALXTEST2.ALX_PRODUCT ALX_PRODUCT, ALXL", _
        "      IVE.ALX_TT_OUT ALX_TT_OUT" & Chr(13) & "" & Chr(10) & _
        " WHERE ALX_PRODUCT.PRODUCT_ID = ALX_TT_OUT.PRODUCT_ID " & _
        "   AND ALX_TT_OUT.CORRESPONDENT_ID = ALX_CORRESPONDENT.CORRESPONDENT_ID " & _
        "   AND ALX_LOOKUP_DET.LOOKUP_DET_ID = ALX_TT_OUT.DOC_TYPE_L ", _
        "   AND ((ALX_TT_OUT.TT_OUT_CODE Not Like '%HOF%') " & _
        "         AND (to_date(TT_OUT_DATE) Between '" & RngFromDate & "' And '" & RngToDate & "') " & _
        "        )")
    .Refresh BackgroundQuery:=False
End With

End Sub

enter image description here

It appears that this error is so generic that many of the existing solutions address different issues.

In my case I have created a macro that works in Excel 2010 and does not work in Excel 2007.

Here is a summary of the code:

cn = "ODBC;Driver={SQL Server Native Client 10.0};Server=serverName;Database=dbName;Trusted_Connection=yes;"
sql = "select top 10 * from tableName"

Dim S As Worksheet
Set S = ActiveWorkbook.Sheets("Medical")

With S.QueryTables.Add(Connection:=cn, Destination:=S.Range("B1"))

        .CommandText = sql
        .Refresh BackgroundQuery:=False

     End With

This code executes perfectly in Excel 2010, but errors out in Excel 2007.

Do I need to change the connection string structure for 2007, or is there another issue at work?

Undo's user avatar

Undo

25.5k37 gold badges106 silver badges129 bronze badges

asked Apr 22, 2013 at 16:03

lance's user avatar

5

Solution:

All machines I was using with Excel 2010 have «SQL Server Native Client 10.0» as a possible driver for ODBC Data Sources. The machines with Excel 2007 only have «SQL Server».

I changed my connection string to be:

cn = "ODBC;Driver=SQL Server;Server=serverName;Database=dbName;Trusted_Connection=yes;"

and it worked like a charm.

Thanks to those that responded.

answered Apr 23, 2013 at 1:44

lance's user avatar

lancelance

511 gold badge1 silver badge6 bronze badges

Change your property .Refresh BackgroundQuery:=False to be .Refresh. Nothing has changed from 2007 to 2010 in regards to this so if changing the property does not fix the issue there is something else going on such as part of the workbook is corrupt.

answered Apr 22, 2013 at 16:17

AxGryndr's user avatar

AxGryndrAxGryndr

2,2742 gold badges22 silver badges45 bronze badges

2

I had the same issue when calling stored procedure from the macro. After wasting a whole day in searching internet for the solution, I finally found a solution.

I used SET NOCOUNT ON;

It worked!

answered Jul 2, 2015 at 13:09

pkk's user avatar

1

I had this exact error. The debug would take me to the .refresh line as well. I worked every which way I could think of to fix that line. Nothing worked.

The «General ODBC Error» verbiage had me thinking…I went to Run >> Microsoft ODBC Administrator >> Selected my DataSource >> Clicked the Configure button >> Clicked Test Connection

That returned an error that my password had expired and the database was set to read only. My Windows User password has not expired but it was within the window of when I «should» change my password…I was using a work machine and have mandatory user account password changes every 60-90 days or so with a 30-something day grace period. Didn’t even know that.

Not saying this is the fix for you, but I was getting the exact same error and had tried every little trick and edit this website, and the Internet, had to offer with no luck. I logged out, reset my Windows User Account password, logged back in, opened the excel file, hit the Refresh Button macro…and it worked.

Anyway, maybe this will help someone…

answered Jun 17, 2019 at 19:03

peterj's user avatar

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
Sub zapros_k_prn()
    Лист8.Select
    Cells.Select
    Selection.Delete Shift:=xlUp
    With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=Файлы Excel;DBQ=" & ThisWorkbook.FullName & ";DefaultDir=C:\" _
        ), Array( _
        Right(ThisWorkbook.Path, Len(ThisWorkbook.Path) - 3) & ";DriverId=790;MaxBufferSize=2048;PageTimeout=5" _
        ), Array(";")), Destination:=Range("A1"))
        .CommandText = Array( _
        "SELECT `PRN$`.F1, `PRN$`.F2, `PRN$`.F3, `PRN$`.F4, `PRN$`.F15, `PRN$`.F16, `PRN$`.F24+`PRN$`.F25+`PRN$`.F26+`PRN$`.F27+`PRN$`.F28+" _
        , _
        "`PRN$`.F29+`PRN$`.F30+`PRN$`.F31+`PRN$`.F32+`PRN$`.F33+`PRN$`.F34+`PRN$`.F35+`PRN$`.F36+`PRN$`.F37+`PRN$`.F38+`PRN$`.F39+" _
        , _
        "`PRN$`.F40+`PRN$`.F41, `PRN$`.F17+`PRN$`.F18+`PRN$`.F19+`PRN$`.F20+`PRN$`.F21+`PRN$`.F22+`PRN$`.F23+`PRN$`.F42, `PRN$`.F43, `PRN$`.F44," _
        , _
        "`PRN$`.F45, `PRN$`.F46, `PRN$`.F47, `PRN$`.F48, `PRN$`.F95, `PRN$`.F96, `PRN$`.F103+`PRN$`.F104+`PRN$`.F105+`PRN$`.F106+`PRN$`.F107," _
        , _
        "`PRN$`.F97+`PRN$`.F98+`PRN$`.F99+`PRN$`.F100+`PRN$`.F101+`PRN$`.F102, `PRN$`.F108, `PRN$`.F109, `PRN$`.F110, `PRN$`.F111," _
        , _
        "`PRN$`.F112, `PRN$`.F113, `PRN$`.F114, `PRN$`.F115, `PRN$`.F175, `PRN$`.F176, `PRN$`.F182+`PRN$`.F183+`PRN$`.F184+`PRN$`.F185+`PRN$`.F186," _
        , _
        "`PRN$`.F177+`PRN$`.F178+`PRN$`.F179+`PRN$`.F180+`PRN$`.F181+`PRN$`.F187, `PRN$`.F188, `PRN$`.F189, `PRN$`.F190, `PRN$`.F191, `PRN$`.F192," _
        , _
        "`PRN$`.F193 FROM `PRN$` `PRN$`" _
        )
        .Refresh BackgroundQuery:=False
    End With
End Sub

We are using shared folder in server where we keep all excel sheets based on our business requirement so whoever requires that document he will picked up that document from that shared folder and he will receive all update/manipulated data by clicking on «Refresh» button in «Data» tab in excel 2007,so in my organization everybody pc is working fine and they are getting updated data by refreshing document but in my pc the movement i click on refresh i am getting this error which is in image below please provide me a clear answer.

Sub TT_Out()
' ' Macro2 Macro

Dim RngFromDate, RngToDate
RngFromDate = InputBox("Enter Start Date !", "TT Out", Date - 1)
RngToDate = InputBox("Enter End Date !", "TT Out", RngFromDate)

With Range("Table_Query_from_ALXORCL[TT_OUT_DATE]").ListObject.QueryTable
    .Connection = Array(Array( _
        "ODBC;DRIVER={Oracle in instantclient_12_1};" & _
              "SERVER=ALXORCL;UID=ALXLIVE;PWD=alx123;" & _
              "DBQ=ALXORCL;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;F"), _
        Array("DL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;" & _
              "DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=60000;TLO=O;" & _
              "MLD=0;ODA=F;STE=F;TSZ=8"), Array("192;"))
    .CommandText = Array( _
        " SELECT ALX_TT_OUT.TT_OUT_CODE, " & _
        "        ALX_TT_OUT.TT_OUT_DATE, " & _
        "        ALX_TT_OUT.F_NAME, " & _
        "        ALX_TT_OUT.B_F_NAME, " & _
        "        ALX_TT_OUT.SENDING_PRPS, " & _
        "        ALX_LOOKUP_DET.LOOKUP_DET_NAME||'-'||ALX_TT_OUT.DOC_NO, " & _
        "        ALX_PRODUCT.PRODUCT_CODE, " & _
        "        ALX_TT_OUT.QTY*ALX_TT_OUT.SELL_RATE, " & _
        "        ALX_CORRESPONDENT.CORRESPONDENT_NAME" & Chr(13) & Chr(10) & _
        " FROM ALXTEST.ALX_CORRESPONDENT ALX_CORRESPONDENT, ALXTEST2.ALX_LOOKUP_DET ALX_LOOKUP_DET, ALXTEST2.ALX_PRODUCT ALX_PRODUCT, ALXL", _
        "      IVE.ALX_TT_OUT ALX_TT_OUT" & Chr(13) & "" & Chr(10) & _
        " WHERE ALX_PRODUCT.PRODUCT_ID = ALX_TT_OUT.PRODUCT_ID " & _
        "   AND ALX_TT_OUT.CORRESPONDENT_ID = ALX_CORRESPONDENT.CORRESPONDENT_ID " & _
        "   AND ALX_LOOKUP_DET.LOOKUP_DET_ID = ALX_TT_OUT.DOC_TYPE_L ", _
        "   AND ((ALX_TT_OUT.TT_OUT_CODE Not Like '%HOF%') " & _
        "         AND (to_date(TT_OUT_DATE) Between '" & RngFromDate & "' And '" & RngToDate & "') " & _
        "        )")
    .Refresh BackgroundQuery:=False
End With

End Sub

enter image description here

I have a working VBA code which runs as:

wsEnd.Select

Range("A:AQ").Delete

        strSQL = "Select *
        strSQL = strSQL & " FROM [XXX].[ABCCustomer] As A"
        strSQL = strSQL & " Left join"
        strSQL = strSQL & " (Select * "
        strSQL = strSQL & " From [XXX]..[ABCCustomer]"
        strSQL = strSQL & " where LineageId = '123' ) B"
        strSQL = strSQL & " on a.product = b.product and a.[StartDate] = b.[StartDate]"
        strSQL = strSQL & " where (a.EndDate <> b.EndDate)"
        strSQL = strSQL & " and a.NewEndDate is NULL AND B.NewEndDate IS NULL"
        strSQL = strSQL & " and a.Id = '456"
        strSQL = strSQL & " order by b.ProductType"

    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DRIVER=SQL Server;SERVER=XXXSQL01;UID=;Trusted_Connection=Yes;APP=2007 Microsoft  Office system;WSID=XXX;DATA" _
        ), Array("BASE=master")), Destination:=Range("$A$1")).QueryTable
        .CommandText = strSQL
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Table_Query_from_XXX_C"
        .Refresh BackgroundQuery:=False

End with

I have two other scripts starting after the End With but inside the same sub all using the same VBA just different SQL, which all work perfectly fine.

Then I have this very annoying forth, which is causing my a real headache, that goes as follows:

        strSQL = "Select *
        strSQL = strSQL & " FROM [XXX].[ABCCustomer] As A"
        strSQL = strSQL & " Left join"
        strSQL = strSQL & " (Select * "
        strSQL = strSQL & " From [XXX]..[ABCCustomer]"
        strSQL = strSQL & " where Id = '123' ) B"
        strSQL = strSQL & " on a.product = b.product and a.[StartDate] = b.[StartDate]"
        strSQL = strSQL & " where (a.EndDate = b.EndDate)"
        strSQL = strSQL & " and a.NewEndDate is Not NULL AND B.NewEndDate not NULL"
        strSQL = strSQL & " and a.Id = '456"
        strSQL = strSQL & " order by b.Product"

        With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DRIVER=SQL Server;SERVER=XXXSQL01;UID=;Trusted_Connection=Yes;APP=2007 Microsoft Office system;WSID=XXX;DATA" _
        ), Array("BASE=master")), Destination:=Range("$A$1")).QueryTable
        .CommandText = strSQL
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Table_Query_from_XXX_D"
        .Refresh BackgroundQuery:=False
    End With
End Sub

When running the code, the first three come back fine but the forth says

run time error 1004 general odbc error

and stops the code at backgroundquery=false.

I have lifted the SQL code into SQL and it works perfectly fine there and have even tried running it on a separate excel document and that doesn’t give any joy.

The VBA is copy and pasted and only the list object table name is changed i.e. from C to D

I have tried to change backgroundquery:=false to background:=refresh, this works but I get a message saying

run time error 1004 This operation cannot be done because the data is refreshing in the background.

INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Thanks. We have received your request and will respond promptly.

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!

  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It’s Free!

*Tek-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Run-time error ‘1004’ General ODBC Error

Run-time error ‘1004’ General ODBC Error

(OP)

9 Sep 10 12:41

I am trying to get an ODBC connection to work from excel. I have copied the excel sheet from a working copy and am trying to point it at a different server. I am a VBA noob and have no idea why it isn’t working.

Sheets(«DataQuery»).Select
reportdate = ActiveSheet.Range(«B1»).Value
Range(«A3»).Select
With Selection.QueryTable
    .Connection = Array(Array( _
    «ODBC;DSN=DSN201 ;Description=JPdb;UID=minedata;PWD=1xx$F;APP=Microsoft® Query;DATABASE=Power;Network=» _
    ), Array(«DBMSSOCN;Address=111.11.221.70,1433»))
    .Sql = Array(reportdate)
    .Refresh BackgroundQuery:=False
End With

I have not had any luck googling the ‘1004’ error, it seems that it could be many things. Can anyone help, or point me in the direction of some good resources for setting the connection?

Thanks

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Join Tek-Tips® Today!

Join your peers on the Internet’s largest technical computer professional community.
It’s easy to join and it’s free.

Here’s Why Members Love Tek-Tips Forums:

  • Tek-Tips ForumsTalk To Other Members
  • Notification Of Responses To Questions
  • Favorite Forums One Click Access
  • Keyword Search Of All Posts, And More…

Register now while it’s still free!

Already a member? Close this window and log in.

Join Us             Close

Майкрософт Эксель — одна из самых популярных электронных таблиц, используемых во всем мире как для личных, так и для деловых целей. Это универсальное место для хранения, организации и обработки данных организованным способом. MS Excel поставляется в основном с двумя расширениями, то есть в формате XLS и XLSX. Однако, помимо невероятной популярности, ошибки во время выполнения — обычная неприятность для очень многих пользователей Windows, и одной из самых распространенных является ошибка. Ошибка выполнения 1004.

Ошибка выполнения 1004 в Excel

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

Что такое ошибка времени выполнения 1004 в Excel?

Ошибка выполнения 1004 — это код ошибки, относящийся к Microsoft Visual Basic, который, как известно, беспокоит пользователей Microsoft Excel. С этой ошибкой сталкиваются любые версии MS Excel, такие как Excel 2007, 2010, 2013, 2016, 2019. Ни одна версия Microsoft Excel не застрахована от угрозы Runtime Error 1004.

С этой ошибкой в ​​основном сталкиваются пользователи, когда они работают с файлом Excel или пытаются создать макрос в документе Excel. Это может вызвать серьезные проблемы при работе с приложениями Visual Basic и привести к полному сбою программы или даже всей системы; иногда это может привести к зависанию системы, запрещая пользователям что-либо делать в своей системе.

Типы сообщений об ошибках

Сообщения об ошибках, которые больше всего связаны с этой ошибкой времени выполнения, следующие:

  • VB: ошибка времени выполнения ‘1004’: ошибка приложения или объекта
  • Ошибка выполнения Excel VBA 1004 «Ошибка выбора метода класса Range»
  • ошибка времени выполнения 1004 диапазон метода объекта _global не удалось Visual Basic
  • Макрос Excel «Ошибка выполнения» 1004?
  • Ошибка выполнения 1004 не удалось открыть метод объектных книг
  • Ошибка времени выполнения «1004»: сбой метода «Рейнджер» объекта «Рабочий лист»
  • «Сбой метода в ПРИЛОЖЕНИИ ПРИЛОЖЕНИЯ ОБЪЕКТНОЙ программы».

Если вы столкнулись с какой-либо из этих ошибок, вы можете исправить ее с помощью нашего руководства.

Каковы причины?

Ошибка 1004 — это общий код, связанный с MS Excel, но не связанный с одной точной причиной. Следовательно, в этом случае точная причина, по которой может появиться эта ошибка, будет варьироваться от случая к случаю и от обстоятельств к обстоятельствам. От проблем с конфигурацией до проблем с программным обеспечением, ниже мы перечислили краткий обзор распространенных причин ошибки времени выполнения 1004 в Excel:

  • Значок рабочего стола MS Excel может быть поврежден
  • Файл VBA Excel конфликтует с другим приложением
  • Из-за ошибки, указанной в приложении или объекте
  • Из-за отсутствия зависимого файла
  • Из-за вируса, трояна или вредоносного ПО
  • Из-за неверных ключей реестра и так далее.

Это были некоторые из наиболее частых причин получения ошибки времени выполнения 1004 в MS Excel; Теперь давайте разберемся с различными исправлениями.

Здесь мы подробно описали как ручные, так и автоматические решения для исправления ошибки выполнения 1004. Вы можете использовать любой из следующих методов, чтобы решить проблему.

  1. Создать новый шаблон Excel
  2. Запустите сканирование на вирусы
  3. Для VB: ошибка времени выполнения ‘1004’, измените размер записей легенды

Давайте подробно рассмотрим каждый из этих методов.

1]Создайте новый шаблон Excel

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

1]Откройте MS Excel в вашей системе

2]Нажмите ‘CTRL + N‘для создания нового листа Microsoft Excel или просто выберите’Пустая книга‘с первого экрана.

3]После этого удалите все листы в книге, кроме одного.

4]Теперь отформатируйте оставшуюся книгу. Также обратите внимание, что эту книгу можно изменить в соответствии с вашими индивидуальными потребностями.

5]В конце перейдите к ‘Файл> Сохранить как‘, чтобы сохранить новый рабочий лист в формате файла шаблона Excel (.xltx или .xlt).

6]После успешного создания шаблона вы можете вставить его программно, используя следующую строку кода:

Таблицы.Добавить Тип: = путь имя файла

Пожалуйста, обрати внимание — Не забудьте заменить новое имя файла на настоящее имя документа.

2]Запустите сканирование на вирусы

Очень важно сканировать компьютерную систему на наличие вредоносных программ и вирусов, поскольку они могут повредить файлы и важные документы и показать ошибку времени выполнения 1004 в MS Excel. Иногда очень помогает хорошая антивирусная программа.

3]Для VB: ошибка времени выполнения «1004», измените размер записей легенды.

Если вы столкнулись с ошибкой времени выполнения 1004 при запуске макроса Microsoft Visual Basic для приложений (VBA), вы можете использовать этот метод для временного решения.

Обычно эта ошибка возникает при попытке запустить макрос VBA, который использует метод LegendEntries для внесения изменений в записи легенды на диаграмме Microsoft Excel. На этот раз вы можете получить следующее сообщение об ошибке:

Ошибка времени выполнения ‘1004’: ошибка приложения или объекта

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

Чтобы обойти это поведение, создайте макрос, который уменьшает размер шрифта текста легенды диаграммы Excel до того, как макрос VBA внесет изменения в легенду диаграммы, а затем восстановите размер шрифта легенды диаграммы, чтобы он был похож на следующий пример макроса. .

Sub ResizeLegendEntries()
With Worksheets("Sheet1").ChartObjects(1).Activate
      ' Store the current font size
      fntSZ = ActiveChart.Legend.Font.Size
'Temporarily change the font size.
      ActiveChart.Legend.Font.Size = 2
'Place your LegendEntries macro code here to make
         'the changes that you want to the chart legend.
' Restore the font size.
      ActiveChart.Legend.Font.Size = fntSZ
   End With
End Sub

Мы надеемся, что эта статья поможет вам исправить ошибку времени выполнения 1004 в Microsoft Excel. Это руководство дает вам как ручное, так и автоматическое решение, чтобы избавиться от этой ошибки; вы можете использовать любое решение в зависимости от ваших потребностей.

Читать дальше: Клавиши со стрелками не работают в Microsoft Excel.

Содержание

  1. Как исправить ошибку выполнения 1004 в Microsoft Excel?
  2. Что такое ошибка времени выполнения 1004 в Excel?
  3. Типы сообщений об ошибках
  4. Каковы причины?
  5. Исправить ошибку выполнения 1004 в Excel
  6. 1]Создайте новый шаблон Excel
  7. 2]Запустите сканирование на вирусы
  8. 3]Для VB: ошибка времени выполнения «1004», измените размер записей легенды.
  9. Ошибка времени выполнения 1004 при внесении изменений в записи условных обозначений на диаграмме в Excel
  10. Симптомы
  11. Причина
  12. Обходной путь
  13. «Run-time Error 1004» when you make changes to legend entries in a chart in Excel
  14. Symptoms
  15. Cause
  16. Workaround
  17. Как исправить ошибку Microsoft Excel 1004
  18. Проверка «Application-defined or object-defined error»
  19. Что генерирует ошибку времени выполнения 1004?
  20. Распространенные проблемы Application-defined or object-defined error
  21. Причины проблем Application-defined or object-defined error

Как исправить ошибку выполнения 1004 в Microsoft Excel?

Майкрософт Эксель — одна из самых популярных электронных таблиц, используемых во всем мире как для личных, так и для деловых целей. Это универсальное место для хранения, организации и обработки данных организованным способом. MS Excel поставляется в основном с двумя расширениями, то есть в формате XLS и XLSX. Однако, помимо невероятной популярности, ошибки во время выполнения — обычная неприятность для очень многих пользователей Windows, и одной из самых распространенных является ошибка. Ошибка выполнения 1004.

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

Что такое ошибка времени выполнения 1004 в Excel?

Ошибка выполнения 1004 — это код ошибки, относящийся к Microsoft Visual Basic, который, как известно, беспокоит пользователей Microsoft Excel. С этой ошибкой сталкиваются любые версии MS Excel, такие как Excel 2007, 2010, 2013, 2016, 2019. Ни одна версия Microsoft Excel не застрахована от угрозы Runtime Error 1004.

С этой ошибкой в ​​основном сталкиваются пользователи, когда они работают с файлом Excel или пытаются создать макрос в документе Excel. Это может вызвать серьезные проблемы при работе с приложениями Visual Basic и привести к полному сбою программы или даже всей системы; иногда это может привести к зависанию системы, запрещая пользователям что-либо делать в своей системе.

Типы сообщений об ошибках

Сообщения об ошибках, которые больше всего связаны с этой ошибкой времени выполнения, следующие:

  • VB: ошибка времени выполнения ‘1004’: ошибка приложения или объекта
  • Ошибка выполнения Excel VBA 1004 «Ошибка выбора метода класса Range»
  • ошибка времени выполнения 1004 диапазон метода объекта _global не удалось Visual Basic
  • Макрос Excel «Ошибка выполнения» 1004?
  • Ошибка выполнения 1004 не удалось открыть метод объектных книг
  • Ошибка времени выполнения «1004»: сбой метода «Рейнджер» объекта «Рабочий лист»
  • «Сбой метода в ПРИЛОЖЕНИИ ПРИЛОЖЕНИЯ ОБЪЕКТНОЙ программы».

Если вы столкнулись с какой-либо из этих ошибок, вы можете исправить ее с помощью нашего руководства.

Каковы причины?

Ошибка 1004 — это общий код, связанный с MS Excel, но не связанный с одной точной причиной. Следовательно, в этом случае точная причина, по которой может появиться эта ошибка, будет варьироваться от случая к случаю и от обстоятельств к обстоятельствам. От проблем с конфигурацией до проблем с программным обеспечением, ниже мы перечислили краткий обзор распространенных причин ошибки времени выполнения 1004 в Excel:

  • Значок рабочего стола MS Excel может быть поврежден
  • Файл VBA Excel конфликтует с другим приложением
  • Из-за ошибки, указанной в приложении или объекте
  • Из-за отсутствия зависимого файла
  • Из-за вируса, трояна или вредоносного ПО
  • Из-за неверных ключей реестра и так далее.

Это были некоторые из наиболее частых причин получения ошибки времени выполнения 1004 в MS Excel; Теперь давайте разберемся с различными исправлениями.

Исправить ошибку выполнения 1004 в Excel

Здесь мы подробно описали как ручные, так и автоматические решения для исправления ошибки выполнения 1004. Вы можете использовать любой из следующих методов, чтобы решить проблему.

  1. Создать новый шаблон Excel
  2. Запустите сканирование на вирусы
  3. Для VB: ошибка времени выполнения ‘1004’, измените размер записей легенды

Давайте подробно рассмотрим каждый из этих методов.

1]Создайте новый шаблон Excel

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

1]Откройте MS Excel в вашей системе

2]Нажмите ‘CTRL + N‘для создания нового листа Microsoft Excel или просто выберите’Пустая книга‘с первого экрана.

3]После этого удалите все листы в книге, кроме одного.

4]Теперь отформатируйте оставшуюся книгу. Также обратите внимание, что эту книгу можно изменить в соответствии с вашими индивидуальными потребностями.

5]В конце перейдите к ‘Файл> Сохранить как‘, чтобы сохранить новый рабочий лист в формате файла шаблона Excel (.xltx или .xlt).

6]После успешного создания шаблона вы можете вставить его программно, используя следующую строку кода:

Таблицы.Добавить Тип: = путь имя файла

Пожалуйста, обрати внимание — Не забудьте заменить новое имя файла на настоящее имя документа.

2]Запустите сканирование на вирусы

Очень важно сканировать компьютерную систему на наличие вредоносных программ и вирусов, поскольку они могут повредить файлы и важные документы и показать ошибку времени выполнения 1004 в MS Excel. Иногда очень помогает хорошая антивирусная программа.

3]Для VB: ошибка времени выполнения «1004», измените размер записей легенды.

Если вы столкнулись с ошибкой времени выполнения 1004 при запуске макроса Microsoft Visual Basic для приложений (VBA), вы можете использовать этот метод для временного решения.

Обычно эта ошибка возникает при попытке запустить макрос VBA, который использует метод LegendEntries для внесения изменений в записи легенды на диаграмме Microsoft Excel. На этот раз вы можете получить следующее сообщение об ошибке:

Ошибка времени выполнения ‘1004’: ошибка приложения или объекта

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

Чтобы обойти это поведение, создайте макрос, который уменьшает размер шрифта текста легенды диаграммы Excel до того, как макрос VBA внесет изменения в легенду диаграммы, а затем восстановите размер шрифта легенды диаграммы, чтобы он был похож на следующий пример макроса. .

Мы надеемся, что эта статья поможет вам исправить ошибку времени выполнения 1004 в Microsoft Excel. Это руководство дает вам как ручное, так и автоматическое решение, чтобы избавиться от этой ошибки; вы можете использовать любое решение в зависимости от ваших потребностей.

Читать дальше: Клавиши со стрелками не работают в Microsoft Excel.

Источник

Ошибка времени выполнения 1004 при внесении изменений в записи условных обозначений на диаграмме в Excel

Симптомы

При запуске макроса Microsoft Visual Basic для приложений (VBA), использующего метод LegendEntries для внесения изменений в записи условных обозначений в диаграмме Microsoft Excel, может появиться следующее сообщение об ошибке:

Ошибка времени выполнения «1004»: ошибка приложения или объекта

Причина

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

Так как метод LegendEntries в макросе VBA использует то, что отображается для усеченных записей усеченных условных обозначений, сообщение об ошибке, упомянутое в разделе «Симптомы» этой статьи, возникает, когда записей больше, чем доступно для отображения записей условных обозначений на диаграмме Excel.

Обходной путь

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и не предоставляет явных или подразумеваемых гарантий относительно их корректной работы в конкретных случаях и в пользовательских приложениях. Примеры в данной статье рассчитаны на пользователя, имеющего достаточный уровень знаний соответствующего языка программирования, а также необходимых средств разработки и отладки. Специалисты служб технической поддержки Майкрософт могут пояснить назначение тех или иных конструкций кода в конкретном примере, но модификация примеров и их адаптация к задачам разработчика не поддерживается.

Дополнительные сведения о доступных вариантах поддержки и способах связи с корпорацией Майкрософт см. на следующем веб-сайте Майкрософт:

Чтобы обойти это поведение, создайте макрос, который уменьшает размер шрифта текста условных обозначений диаграммы Excel, прежде чем макрос VBA внося изменения в условные обозначения диаграммы, а затем восстановите размер шрифта условных обозначений диаграммы, чтобы он был похож на следующий пример макроса.

Для правильного выполнения макроса на листе должна быть диаграмма Excel.

Источник

«Run-time Error 1004» when you make changes to legend entries in a chart in Excel

Symptoms

When you run a Microsoft Visual Basic for Applications (VBA) macro that uses the LegendEntries method to make changes to legend entries in a Microsoft Excel chart, you may receive the following error message:

Run-time error ‘1004’: Application or object-defined error

Cause

This behavior occurs when the Excel chart contains more legend entries than there is space available to display the legend entries on the Excel chart. When this behavior occurs, Microsoft Excel may truncate the legend entries.

Because the LegendEntries method in your VBA macro uses what appears for the legend (in this case, the truncated legend entries), the error message that is mentioned in the «Symptoms» section of this article occurs when there are more entries than there is space available to display the legend entries on the Excel chart.

Workaround

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs.

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

To work around this behavior, create a macro that reduces the font size of the Excel chart legend text before your VBA macro makes changes to the chart legend and then restore the font size of the chart legend so that it is similar to the following macro example.

You must have an Excel chart on your worksheet for this macro to run correctly.

Источник

Как исправить ошибку Microsoft Excel 1004

Номер ошибки: Ошибка 1004
Название ошибки: Application-defined or object-defined error
Описание ошибки: Run-time error ‘1004’. Application-defined or object-defined error.
Разработчик: Microsoft Corporation
Программное обеспечение: Microsoft Excel
Относится к: Windows XP, Vista, 7, 8, 10, 11

Проверка «Application-defined or object-defined error»

Обычно люди ссылаются на «Application-defined or object-defined error» как на ошибку времени выполнения (ошибку). Чтобы убедиться, что функциональность и операции работают в пригодном для использования состоянии, разработчики программного обеспечения, такие как Microsoft Corporation, выполняют отладку перед выпусками программного обеспечения. Ошибки, такие как ошибка 1004, иногда удаляются из отчетов, оставляя проблему остается нерешенной в программном обеспечении.

Пользователи Microsoft Excel могут столкнуться с ошибкой 1004, вызванной нормальным использованием приложения, которое также может читать как «Run-time error ‘1004’. Application-defined or object-defined error.». Сообщение об этой ошибке 1004 позволит разработчикам обновить свое приложение и исправить любые ошибки, которые могут вызвать его. Затем Microsoft Corporation исправит ошибки и подготовит файл обновления для загрузки. Следовательно, разработчик будет использовать пакет обновления Microsoft Excel для устранения ошибки 1004 и любых других сообщений об ошибках.

В первый раз, когда вы можете столкнуться с ошибкой среды выполнения Microsoft Excel обычно с «Application-defined or object-defined error» при запуске программы. Вот три наиболее заметные причины ошибки ошибки 1004 во время выполнения происходят:

Ошибка 1004 Crash — это распространенная ошибка 1004 во время выполнения ошибки, которая приводит к полному завершению работы программы. Эти ошибки обычно возникают, когда входы Microsoft Excel не могут быть правильно обработаны, или они смущены тем, что должно быть выведено.

Утечка памяти «Application-defined or object-defined error» — Когда Microsoft Excel обнаруживает утечку памяти, операционная система постепенно работает медленно, поскольку она истощает системные ресурсы. Возможные искры включают сбой освобождения, который произошел в программе, отличной от C ++, когда поврежденный код сборки неправильно выполняет бесконечный цикл.

Ошибка 1004 Logic Error — логическая ошибка Microsoft Excel возникает, когда она производит неправильный вывод, несмотря на то, что пользователь предоставляет правильный ввод. Когда точность исходного кода Microsoft Corporation низкая, он обычно становится источником ошибок.

Как правило, такие Microsoft Corporation ошибки возникают из-за повреждённых или отсутствующих файлов Application-defined or object-defined error, а иногда — в результате заражения вредоносным ПО в настоящем или прошлом, что оказало влияние на Microsoft Excel. Основной способ решить эти проблемы вручную — заменить файл Microsoft Corporation новой копией. Запуск сканирования реестра после замены файла, из-за которого возникает проблема, позволит очистить все недействительные файлы Application-defined or object-defined error, расширения файлов или другие ссылки на файлы, которые могли быть повреждены в результате заражения вредоносным ПО.

Распространенные проблемы Application-defined or object-defined error

Наиболее распространенные ошибки Application-defined or object-defined error, которые могут возникнуть на компьютере под управлением Windows, перечислены ниже:

  • «Ошибка Application-defined or object-defined error. «
  • «Недопустимая программа Win32: Application-defined or object-defined error»
  • «Извините за неудобства — Application-defined or object-defined error имеет проблему. «
  • «К сожалению, мы не можем найти Application-defined or object-defined error. «
  • «Application-defined or object-defined error не может быть найден. «
  • «Ошибка запуска программы: Application-defined or object-defined error.»
  • «Application-defined or object-defined error не выполняется. «
  • «Application-defined or object-defined error остановлен. «
  • «Неверный путь к программе: Application-defined or object-defined error. «

Эти сообщения об ошибках Microsoft Corporation могут появляться во время установки программы, в то время как программа, связанная с Application-defined or object-defined error (например, Microsoft Excel) работает, во время запуска или завершения работы Windows, или даже во время установки операционной системы Windows. Документирование проблем Application-defined or object-defined error в Microsoft Excel является ключевым для определения причины проблем с электронной Windows и сообщения о них в Microsoft Corporation.

Причины проблем Application-defined or object-defined error

Проблемы Application-defined or object-defined error вызваны поврежденным или отсутствующим Application-defined or object-defined error, недопустимыми ключами реестра, связанными с Microsoft Excel, или вредоносным ПО.

В частности, проблемы Application-defined or object-defined error возникают через:

  • Недопустимая или поврежденная запись Application-defined or object-defined error.
  • Вредоносные программы заразили Application-defined or object-defined error, создавая повреждение.
  • Application-defined or object-defined error злонамеренно или ошибочно удален другим программным обеспечением (кроме Microsoft Excel).
  • Другая программа находится в конфликте с Microsoft Excel и его общими файлами ссылок.
  • Поврежденная загрузка или неполная установка программного обеспечения Microsoft Excel.

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

Источник

Понравилась статья? Поделить с друзьями:
  • Runtime broker ошибка приложения
  • Runas ошибка 1058
  • Run time error 1004 excel ошибка
  • Runas 2147467259 неопознанная ошибка
  • Runonce exe ошибка приложения