[英]Select range based on number entered in any cell
到目前為止,我已經獲得了VBA代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value > 0 Then Target.Resize(, Application.Min(400, 2 * Target.Value)).Select
End Sub
這就是我想要的; 根據我在工作簿中任何地方編寫的數字(* 2,最多選擇400個單元格)選擇一個范圍。 我需要幫助的問題是,如果我鍵入某些內容(文本)或刪除某些內容,則會出現運行時錯誤13。 關於如何修改此代碼的任何想法將不勝感激。
//克里斯
您需要防止您的后續操作重新觸發相同的宏:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Value > 0 Then
Target.Resize(, Application.Min(400, 2 * Target.Value)).Select
End If
End Sub
這是我最終得到的VBA。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Error_handler:
If Val(Target.Cells(1).Value) > 0 Then Target.Resize(, Application.Min(400, 2 * Target.Value)).Select
Exit Sub
Error_handler:
MsgBox "Error Handler"
End Sub
這將選擇由單元格值指定的范圍,並允許通過顯示MsgBox“ Error Handler”進行文本和其他編輯以及處理最終錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.