【发布时间】:2021-01-25 09:23:30
【问题描述】:
我的代码是将颜色填充到填充行上方的行中。 上面有2行文字是最底行的2行需要填色吗? 它们应该链接到函数上方的 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
【问题讨论】:
-
我对您的问题一无所知,抱歉...请尝试编辑您的问题,并在一张图片中显示最初的情况,另一张(至少)与您需要完成的事情有关。
-
Com.Value在哪里以及如何声明和赋值? -
尝试调试时遇到什么错误?你为什么不纠正这些错误?或者,如果您需要他们的帮助,为什么不提及他们?
-
I
ve shown 2 pictures above which should explain what is happening. Sorry to be thick Ive 现在声明了 com.Value。 -
它不会触发代码所以没有任何错误?
标签: vba colors named-ranges