精华内容
下载资源
问答
  • 解决VBA运行时错误13 类型不匹配问题 先说解决方法:找到出错的语句以后给里面的参数改类型,使其互相兼容。 比如:给单元格Cells()外面套个马甲 Val() 比如:给数字外面套个马甲Int() 详细的排查过程后面会慢慢讲...

    解决VBA运行时错误13 类型不匹配问题

    先说解决方法:找到出错的语句以后给里面的参数改类型,使其互相兼容。

    • 比如:给单元格Cells()外面套个马甲 Val()
    • 比如:给数字外面套个马甲Int()
      详细的排查过程后面会慢慢讲……这是一个翻转灵异的奇怪问题。

    我这边出问题的例子参见杨洋老师的书《深入浅出Excel VBA》第3章,3.2.1节,我原样敲仅VBE里面运行就报错了:

    Sub Scores()
    	   Dim i
    	   For i = 3 To 5
    	   		Cells(i, 6) = Cells(i, 3) + Cells(i, 4) + Cells(i, 5)
    	   		Cells(i, 7) = Cells(i, 6) / 3 '报错就在这一行
    	   Next i
     End Sub
    

    我试了下,解决方案有二:

    1. Val(Cells(i, 6)) 也就是给Cells(i, 6) 穿马甲
    2. 或者, In(3)—— 强调下3不是字符串是整数()

    解决归解决,但是要搞清楚之前死在哪里才行,于是我在代码里加了一句显示数据类型的代码

    Sub Scores()
          Dim i
          For i = 3 To 5
          		Cells(i, 6) = Cells(i, 3) + Cells(i, 4) + Cells(i, 5)
          		MsgBox MsgBox TypeName(Cells(i, 6))
          		 '让EXCEL给我跳个弹窗看看这单元格里面到底什么数据格式
          		MsgBox MsgBox TypeName(3)
          		'再看看一个数字3还能是什么形式……
          		Cells(i, 7) = Cells(i, 6) / 3 
          Next i
    End Sub
    

    果然,Cells(i,6)的数据类型不是正常的变量或者整数,而是range
    在这里插入图片描述
    而3就是平平无奇的integer
    在这里插入图片描述
    那么问题来了,Range不能被integer除可以理解,给range套上Val()完全可以理解,variant和一切都搭嘛……但为什么给本来就是integer的3外面套上一层Int()也可以解决问题不再报错呢???

    看到这里只是一般奇怪哈,更奇怪的是

    当我把两条MsgBox代码删掉,想再看看报错效果

    然后,竟然不再报错说什么 运行时错误13了

    只能风中凌乱………………

    展开全文
  • I am trying to connect to mysql using Excel VBA, I am using Excel 2013. I am new to VB, so i followed this example: Inserting Data Into MySQL From Excel Using VBAHere is my connection code:Private Sub...

    I am trying to connect to mysql using Excel VBA, I am using Excel 2013. I am new to VB, so i followed this example: Inserting Data Into MySQL From Excel Using VBA

    Here is my connection code:

    Private Sub ConnectDB()

    Set oConn = New ADODB.Connection

    oConn.Open "DRIVER={MySQL ODBC 5.1.13 Driver};" & _

    "SERVER=123.456.0.188;" & _

    "DATABASE=MyDB;" & _

    "USER=MyUser;" & _

    "PASSWORD=MyPassword;" & _

    "Option=3"

    End Sub

    When I try to execute this code, I get the following error:

    ---------------------------

    Microsoft Visual Basic for Applications

    ---------------------------

    Run-time error '-2147467259 (80004005)':

    Automation error

    Unspecified error

    Here are my references:

    2af8776086b499966d0ce31546cb7bc2.png

    I know this question may look like a duplicate but I have looked through most of questions similar to this one, they do not solve my issue.

    解决方案

    The ODBC drivers must match the 32 or 64Bit architekture of the VBA application.

    Otherwise VBA isn't able to use the odbc drivers.

    展开全文
  • 下文是源代码,运行时报错误13 ,求指导,谢谢。 百度了一圈也没有解决。 Private Sub Worksheet_Change(ByVal Target As Range) Dim i, j As Integer If Target.Column = 4 Then For i = 2 To ActiveSheet....
  • word VBA运行时错误'4198':应用程序定义或对象定义错误 解决方法

    项目场景:

    Word VBA


    问题描述:

    最近在学习wordVBA时遇到以下问题:运行时错误'4198':应用程序定义或对象定义错误

    这是我写的一段Excel VBA操作Word的代码,作用是打开已存在的word文档,向其中输入内容后保存退出

    Sub test2()
    Dim wordapp As New Word.Application '建立word对象
    wordapp.Documents.Open ("D:\2021\我的文件\VBA\练习\test.docx") '打开word文档
    wordapp.Visible = ture
    wordap.Selection.EndKey unit:=wdStory '光标移动到文章末尾
    wordapp.Selection.TypeText Text:="我的博客" '输入内容"
    wordapp.ActiveDocument.Save '保存
    wordapp.ActiveDocument.Close '关闭
    wordapp.Quit '退出word对象
    Set wordapp = Nothing '释放对象
    End Sub

    该代码中有一句错误,第五句我把对象变量wordapp误写成了wordap,第一次运行时出现如下问题:运行时错误‘424’:要求对象

    第二次运行时再次出现问题,运行过程缓慢,按住win+tab键后发现这个窗口:

    ***.docx 被“***”锁定,无法编辑。请选择:打开只读副本;创建本地副本,稍后合并更改;在原始副本可用时接收通知

    点击取消后报错:运行时错误'4198':应用程序定义或对象定义错误

     使用WPS打开word文档时,发现:文档已被“***”锁定,是否以只读模式打开?


     

     

    原因分析:

    猜想如下:

    在第一次运行时,程序可以正常打开word文档,但在执行到第五句错误语句时,程序自动退出运行,没有继续往下执行,因此该文件没有被保存,但是被word锁定成了只读模式保护起来。

    第二次运行时,因为程序不能正常打开该文档,所以会出现“文件正在使用”的弹窗提示,而且该文档有些时候没有办法编辑、保存以及删除,只有在任务管理器中结束word后台运行才能删除掉。


    解决方案:

    为了防止调试程序过程中再出现以上问题,可以在程序中加入一个错误转移语句

    程序中出现错误后会自动转到skip后面的语句运行,以上问题得到完美解决。

    Sub test2()
    Dim wordapp As New Word.Application '建立word对象
    On Error GoTo skip
    wordapp.Documents.Open ("D:\2021\我的文件\VBA\练习\test.docx") '打开word文档
    wordapp.Visible = ture
    wordap.Selection.EndKey unit:=wdStory '光标移动到文章末尾
    wordapp.Selection.TypeText Text:="我的博客" '输入内容"
    skip:
    wordapp.ActiveDocument.Save '保存
    wordapp.ActiveDocument.Close '关闭
    wordapp.Quit '退出word对象
    Set wordapp = Nothing '释放对象
    End Sub

    展开全文
  • 如何解决vba运行时错误3420Private Sub ProdName_BeforeUpdate(Cancel As Integer)Dim Product As StringDim stLinkCriteria As StringDim rsc As DAO.RecordsetSet rsc = Me.RecordsetCloneProduct =...

    当用户输入新记录时,我有以下检测重复产品名称。如何解决vba运行时错误3420

    Private Sub ProdName_BeforeUpdate(Cancel As Integer)

    Dim Product As String

    Dim stLinkCriteria As String

    Dim rsc As DAO.Recordset

    Set rsc = Me.RecordsetClone

    Product = Me.ProdName.value

    stLinkCriteria = "[ProdName]=" & "'" & Product & "'"

    If DCount("ProdName", "ProdProduct", stLinkCriteria) > 0 Then

    Me.Undo

    MsgBox "Warning duplicate entry " _

    & Product & " has already been entered." _

    & vbCr & vbCr & "You will now be taken to the record.", vbInformation _

    , "Duplicate Information"

    'Go to record of original product name

    rsc.FindFirst stLinkCriteria

    Me.Bookmark = rsc.Bookmark

    End If

    Set rsc = Nothing

    End Sub

    代码检查,发现重复之后却显示以下错误和不走的原单记录:

    运行时错误“3420” 对象无效或不再设置

    请有人帮我解决问题吗?

    2017-02-19

    ezybusy

    展开全文
  • 否则它会在Series.Formula分配中引发错误1004。事实上,如果我使用任何以'c'开头的随机名称,代码将失败,否则不会。我试过关闭Excel并重新打开,但同样的问题。我遇到过这种情况,因为我一直以图表名称命名图表系列...
  • 在Excel 2007中运行VBA代码出现自动化错误。我尝试连接到远程SQL Server数据库并将数据从Excel加载到SQL Server。在Excel中运行VBA脚本出现自动化错误我得到的错误是,“运行时错误 '-2147217843(80040E4D)':...
  • <p>VBA 代码可以运行但运行完提示运行错误‘5’,无效的过程或调用参数,代码段指向If rng.Value = "┏" And rng(n + 1, 1).Value = "┗" Then行,请大神看看是什么...
  • 跑了一个多月的程序运行时突然报错, 怎么都调不好, 换电脑之后就OK了… 要疯掉… 估计是电脑卸载了啥东西,或装了啥东西,中毒了??? 慢慢找吧[哭]
  • 在Windows OS(32位)和Office 2007(办公室32位)上工作正常,当我开始在Windows 8(64位)和Office 2010(64位)上工作,我无法运行该应用程序因此,由于excel office 2010,我添加的以下代码行是VBA7随附的。...
  • 我对EXcel VBA有一些... 当我尝试单击应用程序上的按钮,我收到“运行时错误-2147467256(80004005)自动化错误未指定错误”。以下是我的代码。 在最后一行,当我尝试调用该功能,我收到错误。我使用的是Window...
  • EXCEL vba 运行错误438

    2017-03-13 16:10:13
    运行错误 438,对象不支持该属类或方法,我用的EXCEL2013版,WIN7-64BIT 这是错误代码 : Sub BrowseToSite() Dim IE As New SHDocVw.InternetExplorer 'Set IE = New SHDocVw.InternetExplorer IE.Visible ...
  • The following VBA subroutine will run most queries just fine. (ie: SELECT * FROM DUAL)Sub DisplayQuery(QueryString As String)Dim rs As New ADODB.RecordsetDim connStr As StringconnStr = _"Provider=MSDA...
  • 概述: 打算将工作簿拆分多个工作表,抛出异常 原因是这个工作簿中有隐藏的工作表,对于Copy操作,它是不能复制隐藏的工作表的,但是Worksheets是所有工作表的集合(自然有隐藏工作表) ...
  • 我在Excel 2007中运行VBA代码遇到自动化错误.我正在尝试连接到远程SQL Server数据库并将数据从Excel加载到SQL Server.我得到的错误是,“运行时错误’-2147217843(80040e4d)’:自动化错误”.我检查了MSDN网站,它...
  • 我发现Excel VBA的解决方法是“运行时错误40036应用程序定义的错误或对象错误”。 它不能解决原始问题,该问题在excel中存在。 我看到的一些响应显示了一个简单的程序,它无法选择屏幕或屏幕上的某个单元。 这是一条...
  • VBA运行时错误1004错误

    千次阅读 2009-11-27 12:20:30
    今天帮人做一个VBA宏, 很久没干这活了. Workbooks(dirname).Sheets(i).UsedRange.Copy Sheets(i).Range("A" & usedRows).Select Selection.PasteSpecial Paste:=...
  • 但是,我发现在备用运行中,我得到’错误462:远程服务器不存在“错误.我研究了很多并且理解这有事做”不合格的引用;但是,我不明白如何将下面的代码片段更正为限定引用?有人可以帮忙吗?Set exR = ActiveSheet.Range...
  • 我有VBA程序,允许用户在活动Excel工作表...逐行逐行,我相信这是产生错误的问题行运行时错误13:输入不匹配Cells(1, counter + inputnum) = outputnum这是相关的功能:Sub enteroutputs()title = "K-Map Program"o...
  • 我在EXCEL中VBA连接oracle串...datasource=****"我电脑操作都正常,但为发给某些用户,一直报错“运行出现3706错误”接着就进行了非常长时间的查找,baidu了一下,有很多朋友都遇到这个问题,有人说这样修改可以...
  • 救命! 关于此主题有很多帖子,我尝试了其中的大多数,但仍然... 第一次运行代码出现错误(错误462远程服务器计算机不存在或不可用),它指向ActiveDocument.Range.InsertFile Filename:=myDir & nextFile...
  • WORD中运行如下代码,有的WORD能成功,有的WORD提示如下,头都大了到底咋回事,求助。 Sub 页面批量格式() ' ' 页面批量格式 宏 ' ' Selection.WholeStory With ActiveDocument.Styles(wdStyleNormal).Font If ....
  • 下面的VBA子例程可以正常运行大多数查询。 (即: SELECT * FROM DUAL )Sub DisplayQuery(QueryString As String)Dim rs As New ADODB.RecordsetDim connStr As StringconnStr = _"Provider=MSDAORA.1;" _& "User...
  • VBA错误处理

    2021-08-28 12:20:46
    VBA错误处理相关
  • 将数组声明为动态数组,使用重新定义即可: dim dataArray() …… redim dataArray(0 to 2) …… ref:http://www.ittribalwo.com/article/1507.html
  • VBA 自动化错误错误440)

    千次阅读 2018-11-13 13:33:23
    VBA调用示波器采集,读取波形数据头,读取数据: instrument.WriteString ":WAVEFORM:PREamble?" ' Query for the preamble. Preamble = instrument.ReadList ' Read preamble ...运行时错误 '-214...
  •  间:2014-10-09 09:23:11作 者:摘 要:Access运行时错误'-2147467259(80004005)':方法'Controls'作用于对象'CommandBarPopup'失败的解决方法正 文:网友 我心飞翔(348721171) 11:52:38 问题在操作Access过程中...
  • 我的代码在Excel 2007中运行良好,因为我切换到excel 2010我开始得到此运行时错误自动化错误调用的对象已与其客户端断开连接,错误号为-2147417848然后excel冻结.在线上运行此功能2次后显示错误Sheets("Risk Details")...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,697
精华内容 2,278
关键字:

vba运行时错误13