Vba 不匹配运行时错误
我得到一个类型不匹配的运行时错误,代码如下。 有人能告诉我我需要做什么不同吗Vba 不匹配运行时错误,vba,excel,Vba,Excel,我得到一个类型不匹配的运行时错误,代码如下。 有人能告诉我我需要做什么不同吗 Sub Macro2() Dim MyRange As Range Set MyRange = Range("L1:L15") Do While Not IsEmpty(MyRange) If MyRange > 1 Then Range(MyRange.Offset(1, 0), MyRange.Offset(MyRange.Value - 1, _
Sub Macro2()
Dim MyRange As Range
Set MyRange = Range("L1:L15")
Do While Not IsEmpty(MyRange)
If MyRange > 1 Then
Range(MyRange.Offset(1, 0), MyRange.Offset(MyRange.Value - 1, _
0)).EntireColumn.Insert
Range(MyRange, MyRange.Offset(MyRange.Value - 1, 1)).EntireColumn.FillDown
End If
Set MyRange = MyRange.Offset(MyRange.Value, 0)
Loop
End Sub
在这一行
If MyRange > 1 Then
您正在尝试将范围对象与数值1进行比较
你对那条线的意图是什么?如果您想知道该范围内每个单元格中的值,则必须编写一个循环。如果您正在查看单元格值,则在该范围内的每个单元格中循环可能会更容易:
Sub Macro2()
Dim MyRange As Range
Dim c as Cell
Set MyRange = Range("L1:L15")
For each c in MyRange.Cells
If c.Value > 1 Then
Range(c.Row, c.Column + 1).EntireColumn.Insert
Range(c.Row, c.Column + 1).EntireColumn.FillDown
End If
Next c
End Sub
我不清楚你在中间做什么,所以它可能需要一些调整。一个类型不匹配仅仅意味着你试图比较不是同一类型的值。您必须确保该范围内的所有值实际上都是数字。您不能将日期与数字进行比较,而不会出现错误。更新您的问题以解释代码的用途是一个好主意。