我想根據我在另一個單元格中確定的單元格的值填充單元格。VBA根據單元格數量更改單元格的顏色
例如,
- 如果我把
A33="5"
然後填寫綠5個細胞用C柱。 - 如果
A34="10"
則同時填充C列中的另外10個單元格。
當我更改值,然後我希望C列中的單元格的數量和顏色將相應地改變。
我分享了一個樣本圖片作爲附件。如果可以使用VBA?
我想根據我在另一個單元格中確定的單元格的值填充單元格。VBA根據單元格數量更改單元格的顏色
例如,
A33="5"
然後填寫綠5個細胞用C柱。A34="10"
則同時填充C列中的另外10個單元格。當我更改值,然後我希望C列中的單元格的數量和顏色將相應地改變。
我分享了一個樣本圖片作爲附件。如果可以使用VBA?
這適用於列A〜F.
表事件代碼
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Range("a33", "f36"), Target) Is Nothing Then
setColor Target.Column
End If
End Sub
模塊代碼
Sub setColor(col As Integer)
Dim vDB, vColor
Dim i As Integer, c As Integer, n As Integer
vColor = Array(RGB(244, 185, 79), RGB(0, 180, 255), RGB(255, 54, 54), RGB(116, 211, 109))
Range(Cells(1, col), Cells(32, col)).Interior.Color = RGB(36, 36, 36)
vDB = Cells(33, col).Resize(4)
For i = 1 To 4
n = vDB(i, 1)
c = c + n
If IsEmpty(vDB(i, 1)) Then
Else
Cells(32, col).Offset(-c, 0).Resize(n).Interior.Color = vColor(i - 1)
End If
Next i
End Sub
,感謝您的支持。非常感謝 –
@SemihUral,祝你好運。 –
,非常感謝。順便說一句,我想增加數量,讓我們假設我把它放在100個A33它會帶給我調試。爲了避免是和如果我需要使用100,我需要修改哪些部分? –
Sub setColor(col As Integer)
Dim vDB, vColor
Dim i As Integer, c As Integer, n As Integer
vColor = Array(RGB(244, 185, 79), RGB(0, 180, 255), RGB(255, 54, 54), RGB(116, 211, 109))
Range(Cells(1, col), Cells(50, col)).Interior.Color = RGB(36, 36, 36)
vDB = Cells(51, col).Resize(4)
For i = 1 To 10
n = vDB(i, 1)
c = c + n
If IsEmpty(vDB(i, 1)) Or c > 49 Then
Else
Cells(50, col).Offset(-c, 0).Resize(n).Interior.Color = vColor(i -
End If
Next i
End Sub
子的setColor(COL作爲整數) 昏暗VDB,vColor 昏暗我作爲整數,c以整數,n作爲整數
vColor = Array(RGB(244, 185, 79), RGB(0, 180, 255), RGB(255, 54, 54), RGB(116, 211, 109))
Range(Cells(1, col), Cells(50, col)).Interior.Color = RGB(36, 36, 36)
vDB = Cells(51, col).Resize(4)
For i = 1 To 4 '<~~ your if your range is "a51,f56", then it sould be 4
n = vDB(i, 1)
c = c + n
If IsEmpty(vDB(i, 1)) Or c > 49 Then
Else
Cells(50, col).Offset(-c, 0).Resize(n).Interior.Color = vColor(i - 1)
End If
Next i
結束子
查找到條件格式;它使用Excel標準工具,而不是要求VBA。如果需要VBA,則可以通過VBA輸入條件格式。如果不需要條件格式化,另一種選擇是使用VBA中的Change_Events。 – Cyril
是的,這是可能的。 – Luuklag
任何你不只是使用堆疊條形圖的理由? –