我正在尝试根据这些单元格的值更改单元格范围内的字体。因此,我想根据D1的值更改D1的字体,并且我想根据D2的值更改D2的字体,依此类推D33。
我能够找到有关如何根据另一个单元格here的值更改A CELL字体的结果。这个VBA代码只完成了D1的工作。但是,它不适用于D2,D3,D4等。
有人可以帮助我根据需要调整代码吗?
如果这个问题很容易回答我很抱歉,但我不熟悉VBA编码的工作方式。
答案 0 :(得分:2)
此代码将执行您所描述的内容,在这种情况下,根据您在D列中提到的特殊字符将字体应用于C列中的文本(注意我使用的是1而不是“1”等...)。如果D列不包含任何这些字符,则它假定所需的字体名称在D列中 - 我这样做只是为了提供代码测试。当然,您需要根据您的具体情况修改代码,但希望这可以帮助您入门。
Option Explicit
Sub fontChange()
Dim theRange As Range, cell As Range
Set theRange = Range("C1:C16")
For Each cell In theRange
Select Case cell.Offset(0, 1)
Case 0, 1, "(":
cell.Font.Name = "Wingdings 2"
Case "", ":":
cell.Font.Name = "Wingdings"
Case Else:
cell.Font.Name = cell.Offset(0, 1)
End Select
Next
End Sub
在动画gif中,我逐步浏览代码,以便您可以看到它正常工作。