excel vba 运行时总是提示:运行时错误‘13’,类型不匹配

With Me.ListView1
.ListItems.Clear
For i = 2 To r2
Set Itm = .ListItems.Add()
With Sheet2
Itm.Text = .Cells(i, 1)
Itm.SubItems(1) = .Cells(i, 2)
Itm.SubItems(2) = .Cells(i, 3)
Itm.SubItems(3) = Format(.Cells(i, 4), "0.00")
Itm.SubItems(4) = Format(.Cells(i, 5), "0.00")
End With
Next
End With
运行到Set Itm = .ListItems.Add()时报错:运行时错误13,类型不匹配
断点移到Itm.Text = .Cells(i, 1)时运行报错:运行时错误91,对象变量或with块变量未设置
求大神指导

Set Itm =ListView1 .ListItems.Add()
改成这样试试
如果这句对了,那么Itm.Text = .Cells(i, 1)这句也没问题了。
实在不行就改成这样:
ListView1.ListItems.Clear
For i = 2 To r2
Set Itm = ListView1.ListItems.Add()
With Sheet2
Itm.Text = .Cells(i, 1)
Itm.SubItems(1) = .Cells(i, 2)
Itm.SubItems(2) = .Cells(i, 3)
Itm.SubItems(3) = Format(.Cells(i, 4), "0.00")
Itm.SubItems(4) = Format(.Cells(i, 5), "0.00")
End With
Next
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-11
Dim itm As Object
itm定义没有?没定义可能会报错。
第2个回答  2013-12-11
with ListView1
.ListItems.Clear
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "标题1", 1000
.ColumnHeaders.Add , , "标题2", 1000
.ColumnHeaders.Add , , "标题3", 1000
.ColumnHeaders.Add , , "标题4", 1000
.ColumnHeaders.Add , , "标题5", 1000
.Gridlines = True
.FullRowSelect = True
.Sorted = True
.View = lvwReport
.FullRowSelect = True
.HideSelection = False
end with
j=1
For i = 2 To r2
ListView1.ListItems.Add , ,Sheet2 .Cells(i, 1)
ListView1.ListItems(j).SubItems(1) = Sheet2 .Cells(i, 2)
ListView1.ListItems(j).SubItems(2) = Sheet2 .Cells(i, 3)
ListView1.ListItems(j).SubItems(3) = Format( Sheet2 .Cells(i, 4), "0.00")
ListView1.ListItems(j).SubItems(4) = Format( Sheet2 .Cells(i, 5), "0.00")
j=j+1
next

EXcel vba 运行时总是提示:运行时错误'13',类型不匹配
你这个是因为类型使用不正确 字符串类型的字符串参与了数值类型的数学运算,就好产生类型不匹配错误。修改方法如下:num1 = 0

...vba 运行时总是提示:运行时错误'13',类型不匹配。代码输入无误,前...
' 其他变量定义请自行补上. Dim title As Variant ' 把原先的数据类型 String 换成 Variant Dim titleRange As Range On Error Resume Next Set titleRange = Application.InputBox("机构名称", Type:=8) ' \/* 用户点击 OK 按钮. *\/ If Not (titleRange Is Nothing) Then...

EXcel vba 运行时总是提示:运行时错误'13',类型不匹配
第一行 应该是标题,标题不是数字 ,文本和数字 类型不匹配

EXcelvba:运行时错误‘13’,类型不匹配
当在ExcelVBA编程中遇到运行时错误13“类型不匹配”时,问题往往源自变量声明与赋值的不匹配。例如,当你声明一个变量C为字符串类型(如CAsString),但没有给它分配一个有效的数值字符串,这可能导致计算过程中数值型数据自动转换时出现错误,特别是当涉及零长度字符串时,系统无法处理这种情况。在变量声...

wps表格l宏运行时错误13类型不匹配?
在WPS表格(或Excel)中遇到VBA宏运行时错误“13:类型不匹配”时,通常意味着宏中的变量或表达式的数据类型与其预期类型不符。这可能由于多种原因造成,以下是一些常见的解决方法:检查数据类型:确保你在进行数学运算或比较时,所涉及的所有变量和对象的数据类型是兼容的。例如,如果一个变量被声明为...

EXcel vba :运行时错误‘13’,类型不匹配。
类型不匹配是由C As String引起的,因为声明C后没有给他赋值为有效的数值字串,计算时,数值型的字串会自动转换成响应的数值参与运算,而零长度的字串是不被支持的。如变量声明改成Dim m,V,b,d,C,其他不变,则会出现"溢出“错误,因为100*d=0(除数为0)。如变量声明改成Dim m As Integer,...

EXCEL VBA运行时错误13 在线求帮助
错误13 是类型不匹配!最大的可能原因是 Sheet5 的 D 列并不是日期型数据。或许 D 列的数据看起来是日期型的,但实际上是文本型的。因为日期型数据是数值型的(日期是整型的,时间是小数型的)。建议你在任意一个非 D 列的空白单元格内使用 Type 函数测试一下便知。比如:=TYPE(D2)。若返回...

EXCEL VBA中提示“运行时错误‘13’,类型不匹配”是怎么回事?代码如下...
= "Y" & Format(Right(strBh, 4) + 1, "0000")本身没问题。表中数据有问题。第一列最后一个数据截取的后四个字符不光是数字,导致函数不能运行,即不能加 1 。所以问题出在 Right(strBh, 4) + 1 这里,类型不匹配。另外,format(x,"0000") 要求 x 是个数值或数字组成的字符串。

EXcel vba 运行时总是提示:运行时错误‘13’,类型不匹配,请教
无代码无真相。肯定的是类型不匹配。

excel类型不匹配“13”
条件不能连写。改正如下:Sub CC()Dim i%, j%, a%, b%For i = 2 To 14 For j = 2 To 117 a = Worksheets("Sheet1").Cells(i, j) If a > 0 And a < 35 Then b = (50 - 0) \/ (35 - 0) * (a - 0) + 0 ElseIf a >= 35 And a < 75 Then...

相似回答