【发布时间】:2019-06-16 05:31:50
【问题描述】:
每次我尝试运行我的宏时,由 LIRCounter 包围的第一部分运行良好,但 Excel 返回“运行时错误 '1004':应用程序定义或对象定义错误”,并且调试突出显示我的Range(...).Merge 我的宏的其余部分。
我已尝试通过删除 .Merge、Counter 变量并重写我的整个代码来重新格式化范围,但我无法缩小范围的哪一部分导致错误。
Sub MergeCells()
Dim FirstRow As Long
Dim LastRow As Long
Dim TechnicalDataSheet As Worksheet
Dim LIRCounter As Long
Dim ETCounter As Long
Dim ETCounter2 As Long
FirstRow = 15
LastRow = 44
Set TechnicalDataSheet = Worksheets("Technical Data")
With TechnicalDataSheet
For LIRCounter = FirstRow To LastRow
If Cells(LIRCounter, 19).Value = Not IsEmpty(Cells(LIRCounter, 19)) Then
Else
Range("U" & LIRCounter, "Z" & LIRCounter).Merge
End If
If Cells(LIRCounter, 19).Value = Not IsEmpty(Cells(LIRCounter, 19)) Then
Else
Range("U" & LIRCounter, "Z" & LIRCounter) = "N/A"
End If
Next LIRCounter
For ETCounter = FirstRow To LastRow
If Cells(ETCounter, 3).Value = "Structural" Then
Range("D" & ETCounter, "L" & ETCounter).Merge
End If
If Cells(ETCounter, 3).Value = "Structural" Then
Range("D" & ETCounter, "L" & ETCounter) = "N/A - Structural"
End If
Next ETCounter
For ETCounter2 = FirstRow To LastRow
If Cells(ETCounter2, 3).Value = "Structural" Then
Range("O" & ETCounter2, "Z" & ETCounter2).Merge
End If
If Cells(ETCounter2, 3).Value = "Structural" Then
Range("O" & ETCounter2, "Z" & ETCounter2) = "N/A - Structural"
End If
Next ETCounter2
End With
End Sub
预期结果是,如果从单元格 C15 的下拉菜单中选择“结构”,则单元格 D15:L15 合并为一个单元格,并且单元格 O15:Z15 合并为一个单元格。直到第 44 行的每一行也是如此。当宏运行时,它只返回“运行时错误'1004':应用程序定义或对象定义的错误”并且没有合并任何单元格。
【问题讨论】: