|
本帖最后由 爱疯 于 2020-1-16 14:35 编辑
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'当选中区域G3:AQ6,D10:K80,M10:BA46中任意单元格时
If Not Application.Intersect(Range("G3:AQ6,D10:K80,M10:BA46"), Target) Is Nothing Then
'加批注
Call addcmt(Target(1))
End If
End Sub
'工作表【Details】内容有变更时
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Range, y As Range
'批注有变的新编码
Set x = Cells(Target.Row, "k")
'在看板里的位置
Set y = Sheets(1).Cells.Find(x)
'更新
If Not y Is Nothing Then Call addcmt(y)
End Sub
'加批注
Sub addcmt(x As Range)
Dim sh As Worksheet
Dim y As Range
If Len(x) Then
Set sh = Sheets(2)
'根据单元格内容在工作表【Details】中查找(索引列为K列
Set y = sh.Range("k:k").Find(x)
If Not y Is Nothing Then
With x
'结果在AA列),将查找到的结果批量添加为单元格的批注内容
.NoteText sh.Cells(y.Row, "aa")
.Comment.Shape.TextFrame.AutoSize = True
.Comment.Shape.TextFrame.Characters.Font.Size = 14
End With
End If
End If
End Sub
依次是 看板 的、Details的、模块的 代码
看板 (VBA自动添加批注)2.rar
(77 KB, 下载次数: 52)
|
|