宏开启后excel崩溃在运行宏时出现,运行时错误13类型不匹配”?


我创造了这个宏和我在该行获得了运行时错误“13”运行时错误“13” VBA宏的Excel
Set objDomAttribute = objDomElement3.Attributes.setNamedItem(objDomDoc.createAttribute("Name4"))
我的Excel文件有2727行。我测试了更少的行,它的工作完美,但对于2727它不起作用。我应该怎么做才能解决这个问题?
Option Explicit
Public Sub MakeXMLWithDom()
Dim Q As String
Q = Chr$(34)
Dim objDomDoc As New MSXML2.DOMDocument60
objDomDoc.LoadXML ("<?xml version=" & Q & "1.0" & Q & "encoding=" & Q & "utf-8" & Q & "?>")
Dim objDomElement As MSXML2.IXMLDOMElement
Dim objDomAttribute As MSXML2.IXMLDOMAttribute
Dim nodeSet As MSXML2.IXMLDOMNodeList
Set objDomElement = objDomDoc.createElement("Containers")
Set objDomElement = objDomDoc.appendChild(objDomElement)
'finding the amount of rows in the excel
Dim numofrows As Long
numofrows = Worksheets("EXAMPLE").Range("E1").Offset(Worksheets("EXAMPLE").Rows.Count - 1, 0).End(xlUp).Row
Dim iRow As Integer
Dim Value11 As Variant
Dim Value12 As Variant
Dim Value13 As Variant
Dim objDomElement1 As Variant
Dim objDomElement2 As Variant
Dim objDomElement3 As Variant
For iRow = 10 To (numofrows + 1)
If Worksheets("EXAMPLE").Cells(iRow - 1, 5) = Worksheets("EXAMPLE").Cells(iRow, 5) Then
Value11 = Worksheets("EXAMPLE").Cells(iRow - 1, 11).Value & ", " & Worksheets("EXAMPLE").Cells(iRow, 11).Value
Value12 = Worksheets("EXAMPLE").Cells(iRow - 1, 12).Value & ", " & Worksheets("EXAMPLE").Cells(iRow, 12).Value
Value13 = Worksheets("EXAMPLE").Cells(iRow - 1, 13).Value & ", " & Worksheets("EXAMPLE").Cells(iRow, 13).Value
Else
Value11 = Worksheets("EXAMPLE").Cells(iRow, 11).Value
Value12 = Worksheets("EXAMPLE").Cells(iRow, 12).Value
Value13 = Worksheets("EXAMPLE").Cells(iRow, 13).Value
End If
If Worksheets("EXAMPLE").Cells(iRow, 5) <> Worksheets("EXAMPLE").Cells(iRow + 1, 5) And Worksheets("EXAMPLE").Cells(iRow, 3) <> "" And Worksheets("EXAMPLE").Cells(iRow, 5) <> "" Then
Set objDomElement1 = objDomElement.appendChild(objDomDoc.createElement("Data"))
Set objDomAttribute = objDomElement1.Attributes.setNamedItem(objDomDoc.createAttribute("Relevant"))
objDomElement1.Attributes.getNamedItem("Relevant").Text = "True"
Set objDomElement2 = objDomElement1.appendChild(objDomDoc.createElement("Info"))
Set objDomElement3 = objDomElement2.appendChild(objDomDoc.createElement("Part"))
Set objDomAttribute = objDomElement3.Attributes.setNamedItem(objDomDoc.createAttribute("Name1"))
Set objDomAttribute = objDomElement3.Attributes.setNamedItem(objDomDoc.createAttribute("Name2"))
Set objDomAttribute = objDomElement3.Attributes.setNamedItem(objDomDoc.createAttribute("Name3"))
Set objDomAttribute = objDomElement3.Attributes.setNamedItem(objDomDoc.createAttribute("Name4"))
objDomElement3.Attributes.getNamedItem("Name1").Text = Trim$(Worksheets("EXAMPLE").Cells(iRow, 5).Value)
objDomElement3.Attributes.getNamedItem("Name2").Text = Value11
objDomElement3.Attributes.getNamedItem("Name3").Text = Value12
objDomElement3.Attributes.getNamedItem("Name4").Text = Value13
End If
Next iRow
objDomDoc.Save ("c:\Example.xml")
End Sub
2
你说Value13在本地窗口显示为Value: Error 2015和Type:
Variant/Error。那么,好吧,继续调查...... Value13从哪里来?查看该行的Excel表格。我敢打赌你会在那里发现一个#VALUE!错误。
所以这是您输入数据中的问题,而不是您的代码。解决这个问题,你的问题就会消失。
来源
2012-11-29 09:35:06
仁冰冰 2019-09-18
运行时错误1004怎么办?最近使用Excel表格的用户反应在进行编辑操作的时候遇到了excel宏无法正常运行运行时错误 1004 应用程序定义或对象定义错误 的此提示,该怎么办呢?针对这样的现象是因为excel表格中宏设置不当出错导致的,针对这样的故障我们可以按下面方法进行操作。
方法一:
打开电脑中的excel之后,使用鼠标单击左上角的文件按钮,接着依次点击选项-信任中心。打开信任中心设置界面之后,在左侧单击宏设置选项卡,随后使用鼠标勾选开发人员宏设置下方的:
信任对VBA工程对象模型的访问选项!完成之后保存以上设置即可!
方法二:
1、运行excel之后在工具选项卡中单击宏选项,接着选择安全性选项!打开安全性设置界面之后将安全级别全部降低,可以使用开发商来保留空白。2、若是在使用excel的过程中新建文档也会提示这个错误,那么我们可以在高级选项卡下方单击宏选项中的VB编辑器选项!方法三:
有的用户在使用的过程中用到了一些错误的代码或是公式,这种情况下也会出现1004错误代码。此时就需要我们对所有的代码以及公式进行检查了!
当我们在使用Excel表格的时候遇到了运行时错误1004的提示可通过上述小编给大家分享运行时错误1004的解决方法。

我要回帖

更多关于 宏开启后excel崩溃 的文章

 

随机推荐