如何在VBA中将.numberformat与可变文本一起使用

时间:2019-06-03 11:53:38

标签: excel vba number-formatting

我正在编写一个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

非常感谢。

0 个答案:

没有答案