2015-01-21 78 views
-1

我編寫了此代碼及其給出的錯誤。
我想爲有錯誤的單元格提示錯誤消息。錯誤字段的提示信息

Public Sub OnErrorDemo() 
    On Error GoTo ErrorHandler 
    Dim LastCol As Long 
    Dim LastRow As Long 
    Dim rng As Range, iLength As Integer 
    LastCol = ActiveSheet.UsedRange.Columns.Count 
    LastRow = ActiveSheet.UsedRange.Rows.Count 

ErrorHandler: 
    For h = 1 To Range("A60").End(xlUp).Row 
     Set rng = ActiveSheet.Range("A1:A&h") 
     Select Case IsEmpty(rng) 
     Case True 
      MsgBox rng.Address & " is empty" 
     Case Else 
      Select Case IsNumeric(rng) 
      Case True 
       MsgBox rng.Address & " has a numeric value" 
       Select Case rng.HasFormula 
       Case True 
        MsgBox rng.Address & " also has a formula" 
       End Select 
      Case Else 
       iLength = Len(rng) 
       MsgBox rng.Address & " has a Text length of " & iLength 
      End Select 
     End Select 
    Next h 
End Sub 
+0

私人小組CommandButton21_Click() 昏暗的RNG作爲字符串 On Error GoTo ErrorHandler ErrorHandler: Set rng = ExcelApplication.Columns(「A:A」)。EntireColumn For i = 1 To A For j = 1 To A Select Case IsEmpty(rng) Case True Sheets(「Sheet2」)。Cells(2,3)=「Row」&i&「Column」&k End Select End Sub'我已更改代碼,但其提供的對象是必需的 – 2015-01-21 07:55:51

回答

1

檢查這行代碼的,我想這可能會導致錯誤:

Set rng = ActiveSheet.Range("A1:A&h") 

而是使用此:

Set rng = ActiveSheet.Range("A1:A" & h) 
+0

Private Sub CommandButton21_Click() On Error GoTo ErrorHandler'啓用錯誤處理例程。 昏暗LASTCOL只要 昏暗LASTROW只要 昏暗RNG量程,iLength作爲整數 LASTCOL = ActiveSheet.UsedRange.Columns.Count LASTROW = ActiveSheet.UsedRange.Rows.Count 的ErrorHandler: 設置RNG = ActiveSheet.Range( 「A1:A」 &H) 選擇事例的IsEmpty(RNG) 情況也是一樣的 iLength = LEN(RNG) 如果iLength> 10然後 MSGBOX rng.Address&「已經超過限制值的lenth應和小於10。 「 End If End Select End Sub我編輯了代碼,但它的gvg appn定義了錯誤 – 2015-01-21 07:21:55

+0

在哪條線上出現此錯誤? – 2015-01-21 09:07:17

+0

第一行本身 – 2015-01-21 09:53:28