识别/突出显示一个单元格中文本部分的更改

时间:2015-02-02 16:08:02

标签: excel-vba vba excel

基本上我想和Comparing two text cells and show the differnce in third column in Excel sheet 2010/2007中做同样的事情,但没有限制两个文本单元具有相同的长度和相同的#34;字结构"。

假设文本单元格A1包含一些文本:

" Lorem ipsum dolor est"

现在用户将文本更改为

" Lorem tu sunt Ipsum est"

更改后,文本应显示为

" Lorem tu sunt I psum est"

我知道我可以使用ActiveCell.Characters(Start:=1, Length:=9).Font之类的内容更改文本部分的格式。但是我无法确定改变的部分,这使我想到了相关的问题。

我也知道"追踪变化" Excel的功能。不幸的是,我的文本单元格通常包含很多文本,显示更改的弹出窗口无法完全显示它们。此外,更改不会突出显示,但会显示旧文本和新文本。

我还考虑在用户开始编辑文本单元格之前更改字体颜色,但是我无法编写一个没有更改单元格整个文本字体颜色的宏。

所以问题是,如何识别用户对文本单元格所做的文本更改?或者,如何突出显示文本单元格中的更改?

1 个答案:

答案 0 :(得分:0)

ThisWorkbook

中试用此代码段

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) TrackFile = "C:\temp\TRACKER.txt" TargUser = Application.UserName TargAddr = Sh.Name & "!" & Target.Address(False, False) TargVal = Target.Resize(1, 1).Text TargDate = Format(Now, "dd-mmm-yyyy hh:mm:ss") x = TargDate & vbTab & TargUser & vbTab & TargAddr & vbTab & TargVal Open TrackFile For Append As #1 Print #1, x Close #1 End Sub

使用日期,时间,用户,单元格和文本写入.txt文件的任何更改