Excel2003中使用VBA重算问题
现需要实现如下功能:当单击B17:B23内任意单元格时,在K1格记录单击的单元格的行号再将A1置为活动单元格,再进行所有公式的重算要求当重复点击B17:B23内单元格时,...
现需要实现如下功能:
当单击B17:B23内任意单元格时,在K1格记录单击的单元格的行号
再将A1置为活动单元格,再进行所有公式的重算
要求当重复点击B17:B23内单元格时,每次点击的行号均被记录起来(我的理解是使用迭代次数为1的循环引用X=X&","&K1),但是同时要排除记录其他行号,比如1,的可能性.
现在使用的是如下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If ActiveCell.Row >= 17 Then
If ActiveCell.Row <= 23 Then
If ActiveCell.Column = 2 Then
Range("K1") = ActiveCell.Row
ActiveSheet.Cells(1, 1).Select
Calculate
End If
End If
End If
End Sub
按我的理解就是顺序执行,先在K1取得行号,再自动选中A1,然后再重新计算
可是现在单击后直接跳到A1格,K1的值从来没变过,而且也不会重算,为什么呀
我是VBA菜鸟,恳请各位大虾帮个忙%>_<% 展开
当单击B17:B23内任意单元格时,在K1格记录单击的单元格的行号
再将A1置为活动单元格,再进行所有公式的重算
要求当重复点击B17:B23内单元格时,每次点击的行号均被记录起来(我的理解是使用迭代次数为1的循环引用X=X&","&K1),但是同时要排除记录其他行号,比如1,的可能性.
现在使用的是如下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If ActiveCell.Row >= 17 Then
If ActiveCell.Row <= 23 Then
If ActiveCell.Column = 2 Then
Range("K1") = ActiveCell.Row
ActiveSheet.Cells(1, 1).Select
Calculate
End If
End If
End If
End Sub
按我的理解就是顺序执行,先在K1取得行号,再自动选中A1,然后再重新计算
可是现在单击后直接跳到A1格,K1的值从来没变过,而且也不会重算,为什么呀
我是VBA菜鸟,恳请各位大虾帮个忙%>_<% 展开
3个回答
展开全部
请改成:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Selection.Row >= 17 And Selection.Row <= 23 and selsetion.column=2 Then
Range("K1") = Selection.Row
ActiveSheet.Cells(1, 1).Select
Calculate
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Selection.Row >= 17 And Selection.Row <= 23 and selsetion.column=2 Then
Range("K1") = Selection.Row
ActiveSheet.Cells(1, 1).Select
Calculate
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道是不是这个意思?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 And Target.Row > 16 And Target.Row < 24 Then
Range("K1") = Target.Row
Range("A1").Select
Calculate
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 And Target.Row > 16 And Target.Row < 24 Then
Range("K1") = Target.Row
Range("A1").Select
Calculate
End If
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这段代码除了if嵌套不简洁,没问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询