工作簿事件excle vba workbook_sheetchange
答案:1 悬赏:0 手机版
解决时间 2021-04-29 07:32
- 提问者网友:棒棒糖
- 2021-04-28 23:25
工作簿事件excle vba workbook_sheetchange
最佳答案
- 五星知识达人网友:怙棘
- 2021-04-29 00:45
变化之前数据备份需要在Workbook_SheetSelectionChange事件中(选区改变)设置。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> "各层使用情况汇总" Or "记录" Then
If Target.column = 3 And Target.row > 4 Then
Application.EnableEvents = False '禁用事件
Worksheets("记录").range("A1").value=target.value '将当前值赋给记录表A1
Application.EnableEvents = true '启用事件
End If
End If
End Sub
在Workbook_SheetChange事件中加入语句,将变化前的值填到A列同行位置
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> "各层使用情况汇总" Or "记录" Then
If Target.column = 3 And Target.row > 4 Then
Application.EnableEvents = False '禁用事件
dim R as long
with Worksheets("记录")
R=.Range("B" & rows.count).end(xlup).row+1 '取最新空行数
.range("A" & R).value=.range("A1").value
.range("B" & R).resize(1,9).value=sh.range("B" & target.row).resize(1,9).value
end with
Application.EnableEvents = true '启用事件
End If
End If
End Sub追问还想请教一下将你写的代码粘贴到thisworkbook后,更改各层C列数据时出现,运行时错误‘13’类型不匹配,不知道是什么原因。谢谢!追答一开始没注意:Sh.Name <> "各层使用情况汇总" Or "记录" 应改为
Sh.Name <> "各层使用情况汇总" and Sh.Name <> "记录"
如果还报错,试试逐步调试一下,在哪句报的错,此时错误值是哪个
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> "各层使用情况汇总" Or "记录" Then
If Target.column = 3 And Target.row > 4 Then
Application.EnableEvents = False '禁用事件
Worksheets("记录").range("A1").value=target.value '将当前值赋给记录表A1
Application.EnableEvents = true '启用事件
End If
End If
End Sub
在Workbook_SheetChange事件中加入语句,将变化前的值填到A列同行位置
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name <> "各层使用情况汇总" Or "记录" Then
If Target.column = 3 And Target.row > 4 Then
Application.EnableEvents = False '禁用事件
dim R as long
with Worksheets("记录")
R=.Range("B" & rows.count).end(xlup).row+1 '取最新空行数
.range("A" & R).value=.range("A1").value
.range("B" & R).resize(1,9).value=sh.range("B" & target.row).resize(1,9).value
end with
Application.EnableEvents = true '启用事件
End If
End If
End Sub追问还想请教一下将你写的代码粘贴到thisworkbook后,更改各层C列数据时出现,运行时错误‘13’类型不匹配,不知道是什么原因。谢谢!追答一开始没注意:Sh.Name <> "各层使用情况汇总" Or "记录" 应改为
Sh.Name <> "各层使用情况汇总" and Sh.Name <> "记录"
如果还报错,试试逐步调试一下,在哪句报的错,此时错误值是哪个
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯