во-первых, извиняюсь за длинный пост, я изо всех сил пытаюсь создать событие изменения на VBA, где комментарий создается в нескольких диапазонах.У меня есть код ниже для работы в одном диапазоне, но когда я пытаюсь расширить его до другого диапазона, либо происходит ошибка, либо он просто не читает код.любая помощь будет принята.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Author, EmployeeName, SiteName, ShiftTimes, PayRate As String
Dim DateEntered As Date
Dim intRow As Integer
Dim cmt As Comment
Dim lBreak As Long
If Intersect(Target, Range("C4:AG19")) Is Nothing Then Exit Sub
intRow = Target.Row
Author = Application.UserName
EmployeeName = Application.WorksheetFunction.Index(Range("$B$4:$B$19"), Target.Row)
SiteName = Range("B2").Value
ShiftTimes = Application.VLookup(Target.Value, Range("AI10:AJ13"), 2, False)
SitePayRate = format((Range("AJ7").Value), "£#,##0.00") & " p/h"
DateEntered = Now()
With Target
.ClearComments
.AddComment Author & Chr(10) _
& EmployeeName & Chr(10) _
& SiteName & Chr(10) _
& ShiftTimes & Chr(10) _
& PayRate & Chr(10) _
& DateEntered
.Comment.Shape.TextFrame.AutoSize = True
.Comment.Visible = False
End With
Set cmt = Target.Comment
If cmt Is Nothing Then
Exit Sub
End If
'find the line break which is Chr(10)
lBreak = InStr(1, cmt.Text, Chr(10))
'format username in red and bold
With cmt.Shape.TextFrame
.Characters.Font.Bold = False
.Characters(1, lBreak).Font.ColorIndex = 1
.Characters(1, lBreak).Font.Bold = True
.Characters(lBreak + 1, Len(cmt.Text)).Font.ColorIndex = 1
End With
End Sub
Я надеюсь достичь, когда целевой диапазон (C32: AG40) вызывает следующую информацию из таблицы данных
If Intersect(Target, Range("C32:AG40")) Is Nothing Then Exit Sub
intRow = Target.Row
Author = Application.UserName
EmployeeName = Application.WorksheetFunction.Index(Range("$B$32:$B$40"), Target.Row)
SiteName = Range("B30").Value
ShiftTimes = Application.VLookup(Target.Value, Range("AI38:AJ41"), 2, False)
SitePayRate = format((Range("AJ35").Value), "£#,##0.00") & " p/h"
DateEntered = Now()
Я надеюсь, что я объяснил себе ясно и еще раз, любая помощь приветствуется.