[英]Why isn't my code filling down?
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,但是它不起作用並沒有向我提供錯誤消息,有什么想法嗎?
嘗試更改以下內容:
SLR= Activecell.Address
進入
Set SLR = Activecell
並對ELR執行相同操作:
Set ELR = Activecell
關於錯誤恢復,下一步總是一個壞主意。 如果我是世界之王,那么我將使該命令成為非法,那么錯誤處理程序應適用於發生意外情況並使您的代碼崩潰的情況。
宏最重要的是,用戶在其末尾獲得的數據是正確的。 如果那意味着當代碼崩潰並且用戶致電給您,那么就是這樣。 但是擁有On Error Resume Next意味着沒人會知道您的代碼是否崩潰了,也沒人會知道數據是錯誤的。
永遠不要使用On Error Resume Next !!!!!
至於這段代碼,如果您刪除On Error Resume Next,您將了解有關您的問題的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.