如何解决尝试填充上方填充单元格的彩色线条
我的代码是将颜色填充到填充行上方的行中。 文本上方有 2 行,它的底行 2 需要填充颜色? 它们应该链接到函数上方的 Sub 中显示的范围 我真的无法理解它前几天似乎可以工作,但现在它停止工作了? 我认为 sub 是对的,只是功能似乎失败了?? 不确定如何将两者联系在一起?
Private Sub Fill_Color_Click()
Dim Com As ComboBox
Dim ws As Worksheet
Set Com = Me.Fill_Color
With ws
Select Case Com.Value
Case ("Fill Color 1 Page Job Card")
Color .Range("A13:Q61")
Case ("Fill Color 2 Page Job Card")
Color .Range("A13:Q61")
Color .Range("A66:Q120")
Case ("Fill Color 3 Page Job Card")
Color .Range("A13:Q61")
Color .Range("A66:Q122")
Color .Range("A127:Q178")
Case ("Fill Color 4 Page Job Card")
Color .Range("A13:Q61")
Color .Range("A66:Q122")
Color .Range("A127:Q183")
Color .Range("A188:Q244")
Case ("Fill Color 5 Page Job Card")
Color .Range("A13:Q61")
Color .Range("A66:Q122")
Color .Range("A127:Q183")
Color .Range("A188:Q244")
Color .Range("A249:Q299")
End Select
End With
End Sub
Function Color(rng As Range)
Dim row As Range
Dim sheet As Worksheet
Set ws = ThisWorkbook.Sheets("Job Card Master")
Dim EmptyRowNum As Integer
For i = 1 To rng.Rows.Count
Set row = rng.Rows(i)
If WorksheetFunction.CountA(row) = 0 Then
EmptyRowNum = EmptyRowNum + 1
End If
If EmptyRowNum = 2 Then
EmptyRowNum = 0
row.Interior.ColorIndex = 4
End If
Next i
End Function
解决方法
您有命名错误,sheet
vs ws
: Dim sheet as Worksheet
在 Color()
函数中,但您随后设置了 ws = ...
。
反正放错地方了,需要移到Fill_Color_Click()
:
Private Sub Fill_Color_Click()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Job Card Master")
以便对范围的引用有意义。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。