在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