我正在编写一个worksheet_change子项,以更改包含文本的单元格的格式。 文字是客户名称,客户从我们的两个品牌接收价目表。因此,我在工作表中为他们有两个客户条目,分别是“客户(品牌1)”和“客户(品牌2)”,而对于另一个单品牌客户,他们只有一个条目“客户”。这些客户是电气批发商,在某些情况下,我们为他们提供电缆...
这两个条目是为了在工作表上区分它们,但我不希望品牌名称出现在价格表上。它只应显示他们的公司名称,品牌名称将包含在价目表中。
使用宏记录器将格式手动更改为仅“ Customer”时,它将返回以下代码:
Cells(7,3).NumberFormat = ";;;""Customer"""
因此,我将其用作模板,然后使用“目标(客户)”单元中的“目标”单元重新创建它:
Brand = Replace(Target, " (Brand)", "")
Cells(7, 3).NumberFormat = ";;;" & """""" & Brand & """"""
当我将鼠标悬停在调试模式(?)上时,弹出框读取的内容与记录器给出的上述代码完全相同。但这是行不通的。我收到错误消息“无法设置Range类的NumberFormat属性”。
我的完整代码(感谢其他提示!)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> 7 Or Target.Column <> 3 Then Exit Sub
Dim Debrand As String
Debrand = Replace(Target.Value, " (Brand)", "")
Application.EnableEvents = False
Cells(7, 3).NumberFormat = ";;;" & """""" & Debrand & """"""
Application.EnableEvents = True
End Sub
非常感谢。