你好,昨天向你提问关于vba问题的,你给我提供了下面的答案:
PrivateSubWorksheet_Change(ByValTargetAsRange)Application.EnableEvents=FalseIfTarget....
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Row = 1 And Target.Column = 1 Then
[a2].Value = [a2].Value & IIf([a2].Value = "", "", " ") & Target.Cells(1, 1).Value
End If
Application.EnableEvents = True
End Sub
这个在昨天是ok的,今天我把excel删除后,又重新弄了一样的,但就是无法实现效果了,不知道是为何了,这跟宏有关么?还是其它问题?求解答 展开
Application.EnableEvents = False
If Target.Row = 1 And Target.Column = 1 Then
[a2].Value = [a2].Value & IIf([a2].Value = "", "", " ") & Target.Cells(1, 1).Value
End If
Application.EnableEvents = True
End Sub
这个在昨天是ok的,今天我把excel删除后,又重新弄了一样的,但就是无法实现效果了,不知道是为何了,这跟宏有关么?还是其它问题?求解答 展开
3个回答
展开全部
不好意思,今天电脑坏了。到现在才弄好。
代码是没有问题的。
首先,你要保证代码放入了正确的工作表,比如图片中,代码放入的是红圈圈内的sheet1,那么在sheet1操作的操作才会起作用。
如果你想要sheet2、sheet3也其中,那么sheet2、sheet3都要放入同样的代码。
如果你要整个工作簿中所有的工作表都起作用,那么你可以使用工作簿的Workbook_SheetChange事件,这样可以不用再每个工作的Worksheet_Change
中写入代码了,具体方法是:双击Thisworkbook,复制以下代码到右边的窗格中:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If Target.Row = 1 And Target.Column = 1 Then
[a2].Value = [a2].Value & IIf([a2].Value = "", "", " ") & Target.Cells(1, 1).Value
End If
Application.EnableEvents = True
End Sub
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询