【发布时间】:2015-11-26 01:14:33
【问题描述】:
郑重声明,我在编码方面的经验非常有限。我们使用 Excel 记录一天中的所有实时事件。报告大约有 100 到 150 行长,每行多行。每行使用 12 个合并单元格,文本被换行。
所需操作:在光标后插入特定文本,在已包含文本的单元格中(使用 VB 的 MS 2013 Excel)。
下面的代码可以正常工作,只是它将文本放在单元格的顶部而不是光标处。我们不能使用文本框并且录制不起作用。什么代码可以做到这一点?谢谢!
Sub SuziQueue ()
With ActiveCell
.Value = "<Suzi Queue... >" & .Value
End With
End Sub
【问题讨论】:
-
.Value = .Value & "<Suzi Queue... >"? -
Excel VBA 与 Word VBA 的不同之处在于 光标位置 不可辨别。如果在编辑模式下输入单元格的内容(在单元格中或在公式栏中),则在离开编辑模式之前无法运行 VBA 子过程。您可以通过定位其他文本并将其用作插入位置来插入文本,但您将无法在“光标位置”插入文本。
-
您可能会拦截更改并将原始单元格值存储在变量中,然后允许更改并计算差异然后进行插入,我假设这是对数据更改进行某种记录?
-
这里有一些信息可以帮助您入门。 ozgrid.com/VBA/track-changes.htm
-
也许您保护工作表并解锁其后的列以进行文本输入。然后使用 Worksheet_Change 事件将新文本注入左侧单元格,最后使用 ClearContents?