Excel VBA,工作表中的代码不起作用

标签 excel vba worksheet

我在sheet1中有以下代码(注意-此代码位于wroksheet对象中,而不是工作簿对象或模块中):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
r = ActiveCell.Row
Cells(r - 1, 7).Value = Now()
ActiveWorkbook.save
End Sub

谁能告诉我为什么: 1. ActiveWorkbook.save 上面不起作用 - 它反而陷入无限循环; 2. 为什么我不能通过按 F8 单步执行代码

我尝试将 ActiveWorkbook.save 放入单独的模块中,然后从工作表中的代码调用该函数,但这也陷入了无限循环。

最佳答案

您需要禁用事件以避免无限循环

Private Sub Worksheet_Change(ByVal Target As Range)
application.enableevents=false
    Cells(target.row - 1, 7).Value = Now()
application.enableevents=true

ActiveWorkbook.save
End Sub

关于Excel VBA,工作表中的代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13883255/

相关文章:

vba - Excel VBA : how to access and control the "Sheet Select" dialog?

.net - Excel 从两个不同的 AppDomain 调用 .NET 自动化服务器?

excel - 在 VBA 中使用 '{' 字符

c# - 如何以编程方式检索 Excel 工作表中的页数?

excel - "Procedure too Large"错误

VBA/彭博社/.NonTradingDayValue

vba - 运行时错误 '1004' 对象 'Range' 的方法 '_Global' 失败 - 动态表名称、循环、工作表间搜索

VBA - 无法从 For 循环内的 If 语句返回值

json - 如何使用 VBA 检索 JSON 响应?

mysql - 如何使用phpmyadmin将Excel文件导入mysql数据库