运行时错误13
问题描述:
我遇到了一些麻烦一些非常简单的代码,我已阅读多篇文章和论坛,但似乎并没有能够找到问题:运行时错误13
Sub ownership()
Dim row, column, x, y As Integer
For row = 2 To 42
For column = 4 To 18
For x = 2 To 16
For y = 5 To 45
If ActiveWorkbook.Sheets("orka").Cells(3, row).Text = Left(ActiveWorkbook.Sheets("values").Cells(x, y).Text, ActiveWorkbook.Sheets("orka").Cells(2, row).Value) Then ActiveWorkbook.Sheets("orka").Cells(column, row).Text = "X"
Next
Next
Next
Next
End Sub
非常感谢 小号
答
这是因为.Text
是一个只读属性。改为使用.Value
。你不能说
Range("A1").Text = "Blah Blah"
但是,您可以做到这一点
MsgBox Range("A1").Text
在VBA试试这个
Option Explicit
Sub ownership()
Dim row As Integer, column As Integer, x As Integer, y As Integer
For row = 2 To 42
For column = 4 To 18
For x = 2 To 16
For y = 5 To 45
If ActiveWorkbook.Sheets("orka").Cells(3, row).Value = _
Left(ActiveWorkbook.Sheets("values").Cells(x, y).Text, _
ActiveWorkbook.Sheets("orka").Cells(2, row).Value) Then _
ActiveWorkbook.Sheets("orka").Cells(column, row).Value = "X"
Next
Next
Next
Next
End Sub
此外,当您变量声明为
Dim row, column, x, y As Integer
然后在这种情况下只有最后一个变量y
将被声明为整数,其余的将被声明为Variant
。正确的方法是声明它像我上面所做的那样。
HTH
两个建议。 **(1)**在'.Cells(A,B)'中,A是行,B是列。你有他们相反。 **(2)**几乎肯定问题是'ActiveWorkbook.Sheets(“orka”)。单元格(2,行)。值不是一个整数。当宏停止错误13时,检查该单元格的值。 – 2012-04-12 19:27:33
非常感谢,我认为我做了一些非常基本的错误... – seba 2012-04-13 10:41:54