Dim SLR As Range
Dim ELR As Range
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
Select Case UCase(Target.Value)
Case "START-LOCATION"
Target.Offset(0, 0).Select
Selection.ClearContents
SLR = ActiveCell.Address
Target.Offset(-1, 1).Select
Case "END-LOCATION"
Target.Offset(0, 0).Select
Selection.ClearContents
ELR = ActiveCell.Address
Target.Offset(0, -1).Select
ActiveSheet.Range(SLR, ELR).FillDown
End Select
End Sub
大家好,我有上面的代码,它应该在第一个单元的起始位置设置变量,在结束位置它设置第二个变量,然后将单元格从SLR填充到ELR,但它不是工作,并没有向我提供错误信息,任何想法?
答案 0 :(得分:0)
尝试更改以下内容:
SLR= Activecell.Address
到
Set SLR = Activecell
并为ELR做同样的事情:
Set ELR = Activecell
答案 1 :(得分:0)
On Error Resume Next总是一个坏主意。如果我是世界之王,我会将此命令设为非法,错误处理程序应该是在发生意外事件而导致代码崩溃时。
宏的最重要的事情是用户在其结尾处获得的数据是正确的。如果这意味着当代码崩溃并且用户打电话给你时,那就是它需要什么。但是,On Error Resume Next意味着没有人会知道你的代码是否已经崩溃,并且没有人会知道数据是错误的。
永远不要使用On Error Resume Next !!!!!
至于这段代码,如果你删除On Error Resume Next,你将会更多地了解你的问题。