在Excel注释中应用公式

在Excel注释中应用公式,excel,vba,comments,formula,cells,Excel,Vba,Comments,Formula,Cells,我想在动态单元格中发表评论。例如,如果我更改单元格中的值,则注释应该更改。我试过: Set wb = ActiveWorkbook file = Application.GetOpenFilename Set wb2 = Workbooks.Open(file) ws2 = ActiveWorkbook.Worksheets.Count For J = 1 To ws2 ThisWorkbook.Worksheets(J).Activate For x2 = 18 To 245

我想在动态单元格中发表评论。例如,如果我更改单元格中的值,则注释应该更改。我试过:

Set wb = ActiveWorkbook
file = Application.GetOpenFilename
Set wb2 = Workbooks.Open(file)
ws2 = ActiveWorkbook.Worksheets.Count
For J = 1 To ws2
    ThisWorkbook.Worksheets(J).Activate
    For x2 = 18 To 245
        For y2 = 1 To 23
        Worksheets(J).Select
        wb2.Activate
        Application.DisplayAlerts = False
        Cells(x2, y2).Select
        Selection.ClearNotes
        Selection.NoteText Text:=wb.Worksheets(J).Cells(x2, y2).Value
        Next y2
    Next x2
Next J
代码可以复制单元格,但不能动态复制。如果我将
A
更改为
B
我希望注释中有
B

如果我更改同一行,则此代码有效:

Private Sub Worksheet_Change(ByVal Target As Range)
      '//clearing more than one cell causes an error
      On Error Resume Next
      '//(can't overwrite an existing comment)
      Target.ClearComments
      ActiveCell.Select
      With Selection
            'get the previous value when value changes
            .AddComment
            .Comment.Visible = False
            .Comment.Text Text:="" & Target
      End With
End Sub
结果是,如果您进行验证(不输入,否则注释在下一行中),您将得到与单元格类似的注释。现在我需要在另一个文件中的同一个案例中使用这个


谢谢这里,最后的代码是谁被问到的

   Option Explicit
Dim newRange As Range
Public wbx As Workbook
Dim x, y As Integer
Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

x = ActiveCell.row
y = ActiveCell.Column

Workbooks("Test2.xlsb").Activate

Target.ClearComments

'Sheets(2).Activate
ActiveSheet.Range("A1").Select
ActiveCell.Offset(x - 2, y - 1).Select

    With Selection
        .AddComment
        .Comment.Visible = False
        .Comment.Text Text:="" & Target
    End With

Workbooks("Test1.xlsb").Activate


End Sub

是的,比如说。我试着这样做:Selection.NoteText Text:=ActiveCell.Value,但它的函数不变。如果没有一些示例,就不可能回答您的问题。很有可能,您只需使用Excel公式,而不需要VBA。无论如何,请举例说明?好的,A是单元格的值。如果我将此值更改为B,则在注释中也会更改为B。A解决方案viendrait de la Function Target comme ceci:ByVal Target As Range Mais je ne sais pas m’en servir