2012-02-20 6 views
1

こんにちは、私はvbaを新しくしていますが、それほどうんざりしないかもしれませんが、なぜ「ランタイムエラー9:下付き文字が範囲外です」エラー、コードが別のセルの色を変更すると、下付き文字の範囲外エラーが発生する

Sub CompareWorksheets(ws1 As Worksheet, ws2 As Worksheet) 
    Dim r As Long, c As Integer 
    Dim lr1 As Long, lr2 As Long, lc1 As Integer, lc2 As Integer 
    Dim maxR As Long, maxC As Integer, cf1 As String, cf2 As String 
    Dim DiffCount As Long 
    Application.ScreenUpdating = False 
    With ws1.UsedRange 
     lr1 = .Rows.Count 
     lc1 = .Columns.Count 
    End With 
    With ws2.UsedRange 
     lr2 = .Rows.Count 
     lc2 = .Columns.Count 
    End With 
    maxR = lr1 
    maxC = lc1 
    If maxR < lr2 Then maxR = lr2 
    If maxC < lc2 Then maxC = lc2 
    DiffCount = 0 
    For c = 1 To maxC 
     For r = 1 To maxR 
      cf1 = "" 
      cf2 = "" 
      On Error Resume Next 
      cf1 = ws1.Cells(r, c).FormulaLocal 
      cf2 = ws2.Cells(r, c).FormulaLocal 
      On Error GoTo 0 
      If cf1 <> cf2 Then 
       DiffCount = DiffCount + 1 
       ws1.Cells(r, c).Activate 
       ws1.Cells(r, c).Select 
=============> ws1.Cells(r, c).Interior.ColorIndex = RGB(200, 20, 20) <============ 
       End If 
      Next r 
     Next c 
     Application.ScreenUpdating = True 
    End Sub 

答えて

4

Cell.Interior.ColorIndexにセルの背景色を変更する必要があるときRGB値が、列挙値ではありません。
可能な値は以下のとおりです。これは、あなたが成功しRGB値に設定することができない理由の理由です何色

を意味しない自動カラー

  • xlColorIndexNoneを意味

    • xlColorIndexAutomatic

      背景色をRGBの色に設定するには、代わりにInterior.Colorプロパティを使用します。

  • +0

    ありがとうございました – JustAddX

    関連する問題