搜索
首页 电脑/网络 软件 办公软件

EXCEL中执行VBA出现的一个问题

  Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Worksheets("Sheet1")。Range("A65536")。Select 'Selection。End(xlUp)。
  
  Select 'x = ActiveCell。Row 'Worksheets("Sheet1")。Range("B:" & x) = Application。WorksheetFunction。Sum(Range("B2:B" & x-1)) End Sub这段代码执行后总不停,请高手指点,具体描述在附件里,谢谢了。

全部回答

2008-03-23

0 0
    Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Worksheets("Sheet1")。
  Range("A65536")。Select 'Selection。End(xlUp)。Select 'x = ActiveCell。  Row 'Worksheets("Sheet1")。
  Range("B:" & x) = Application。WorksheetFunction。Sum(Range("B2:B" & x-1)) '============================================================== '错误原因是select事件的递归调用,本程序(Worksheet_SelectionChange)为 '工作选择改变时发生的事件。
     '所以当 在工作表中选择其中一单元格时,就会自动调用本事件,而本事件中又 '出现了选择事件(range。select),此时Excel首先会再次执行Worksheet_SelectionChange '而在第二次调用Worksheet_SelectionChange时,又会触发Worksheet_SelectionChange '…… '就这样,工作表的Worksheet_SelectionChange无休止地调用自己,直到计算机资源耗尽! '可以改用下面语句实现自动求和功能 Dim rg As Range Set rg = Range("a65536")。
    End(xlUp)。Offset(0, 1) rg = Application。Sum(Range(rg。Offset(-1), Range("b2"))) Set rg = Nothing End Sub 。
  

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
办公软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
办公软件
多媒体软件
系统软件
网络软件
图像处理软件
办公软件
办公软件
举报
举报原因(必选):
取消确定举报