excel - 如何根据多行的单元格值合并单元格
问题描述
每次我尝试运行我的宏时,由 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':应用程序定义的或对象定义的错误”并且没有合并单元格。
解决方案
您已经编写了“With TechnicalDataSheet”但是您下面的行指的是 Cells 而不是 .Cells,因此选择了活动表而不是您想要的目标。在所有单元格引用前添加句号
推荐阅读
- javascript - 跳转到没有锚点的网站
- vue.js - 如何在 vue 中全局制作数据、方法和计算?
- javascript - 用于外部事件的 Fullcalendar V4 JSON 数据
- angular - 使用 Firebase 和 Angular 进行身份验证。用户登录后如何导航到其他组件?
- count - Ocaml - 返回表达式的数量
- python - Python中的轮廓
- python - 为什么我的多进程队列可能“丢失”项目?
- reactjs - 打印时强制展开ExpansionPanel
- c# - 如何在 AbsoluteLayout 中正确居中?
- computer-vision - skimage.feature.greycomatrix 只产生对角线值