使用VBA向单元格添加文本而不删除单元格中已有的内容

bdk*_*ong 2 excel vba excel-vba

我想在宏用数据填充它之后改变单元格中的内容.例如,我的宏将在单元格中放置750.我需要在750之后在单元格中放置一个"T",而不删除750.每次使用宏时750都会改变,所以我不能只使用ActiveCell.FormulaR1C1 = "750 T"

它将始终是一个添加了"T"的数字,但如果它被格式化为文本则很好.

Dav*_*d G 7

你想保留那里的东西并添加一个T,所以这里是如何:

ActiveCell.Value = ActiveCell.Value & " T"
Run Code Online (Sandbox Code Playgroud)

您可以将ActiveCell更改为您想要的任何内容.

完全抄袭@ padawan0007,虽然答案很明显.

另外我还要问你是否因某种原因使用ActiveCell.FormulaR1C1?如果您没有插入实际公式,则应使用.Value.


Ema*_*ser 5

更灵活的方法是为这种任意后缀使用自定义格式.例如,

ActiveCell.NumberFormat = "#,##0 T;-#,##0 T"
Run Code Online (Sandbox Code Playgroud)

当数字750改变时,将为你提供750 T而不需要重新运行宏的开销.您可以对此类单元格值进行复制,粘贴,排序和执行常规操作,而不会影响T后缀.