vba vlookup 保持格式化
vba vlookup keep formatting
我下面的代码有一个 vlookup,它更改了我的数据 (CurrentMonth) 中的一个单元格,但我无法让它保持源的格式。第 2 列中的 return 值是 01、02、03 等,在一般文本格式中最多为 12,但下面的公式 returns 1、2、3 等
我试过在我正在调查的 table 中的数字前加上 ',但这不起作用。还尝试使用代码复制格式,然后在更改后的值上粘贴特殊格式,但这不起作用。查找的格式类型 table 和我正在更改的数据是相同的。我需要什么代码来保持格式,这样我就不会丢失开头的 0,将查找值保持为文本?
'vlookup based on combobox selection held in variable
Cat3No = Application.WorksheetFunction.VLookup(Me.ComboBoxCat3Name.Value, (Worksheets("ValidCombos").Range("C:D")), 2, False)
'variable used to change cell in dataset
Worksheets("CurrentMonth").Cells(Currentrow, 32).Value = Cat3No
如果您不需要将值设置为文本,您可以将单元格设置为“00”类型的自定义格式:
编辑
一个更简单的答案是将您的代码更改为:
'vlookup based on combobox selection held in variable
Cat3No = Application.WorksheetFunction.VLookup(Me.ComboBoxCat3Name.Value, (Worksheets("ValidCombos").Range("C:D")), 2, False)
'variable used to change cell in dataset
With Worksheets("CurrentMonth").Cells(Currentrow, 32)
.Value = Cat3No
.NumberFormat = "00"
End With
我下面的代码有一个 vlookup,它更改了我的数据 (CurrentMonth) 中的一个单元格,但我无法让它保持源的格式。第 2 列中的 return 值是 01、02、03 等,在一般文本格式中最多为 12,但下面的公式 returns 1、2、3 等
我试过在我正在调查的 table 中的数字前加上 ',但这不起作用。还尝试使用代码复制格式,然后在更改后的值上粘贴特殊格式,但这不起作用。查找的格式类型 table 和我正在更改的数据是相同的。我需要什么代码来保持格式,这样我就不会丢失开头的 0,将查找值保持为文本?
'vlookup based on combobox selection held in variable
Cat3No = Application.WorksheetFunction.VLookup(Me.ComboBoxCat3Name.Value, (Worksheets("ValidCombos").Range("C:D")), 2, False)
'variable used to change cell in dataset
Worksheets("CurrentMonth").Cells(Currentrow, 32).Value = Cat3No
如果您不需要将值设置为文本,您可以将单元格设置为“00”类型的自定义格式:
编辑
一个更简单的答案是将您的代码更改为:
'vlookup based on combobox selection held in variable
Cat3No = Application.WorksheetFunction.VLookup(Me.ComboBoxCat3Name.Value, (Worksheets("ValidCombos").Range("C:D")), 2, False)
'variable used to change cell in dataset
With Worksheets("CurrentMonth").Cells(Currentrow, 32)
.Value = Cat3No
.NumberFormat = "00"
End With