excel中添加vba过程,老是不能运行,说是缺少end sub 请高手帮忙

2024-12-15 14:50:42
推荐回答(3个)
回答1:

你的一个SUB后面有两个END SUB这样是不行的

把最后面的一个END SUB移到第二行下面即可

搞不懂你为什么一个全局变量要那样做呢

修改后应该是这样的

Public Sub reg()
Dim ydtext As String '原单元格值
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 Then
Dim mycom As Comment
Dim ybzstr As String '原标注值
'------------------判断是否添加了批注
Set mycom = Target.Comment
If mycom Is Nothing Then Target.AddComment
'------------------编辑批注内容
ybzstr = Target.Comment.Text
Target.Comment.Text Text:=ybzstr & Chr(10) & Format(Now(), "yyyy-mm-dd hh:mm") & " 原内容: " & ydtext & "修改为: " & Target.Formula
Target.Comment.Shape.TextFrame.AutoSize = True
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If Target = "" Then
ydtext = "空"
Else
ydtext = Target.Text
End If
End If
End Sub

回答2:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
出现了2次,第一个Public Sub reg()没有end sub
你的代码需要重组

回答3:

最后一行的End
Sub
是多余的。