2017-10-11 5 views
0

VBA 매크로 (오류 1004 응용 프로그램 또는 개체 정의 오류)와 함께 오류 메시지가 나타납니다. 내가 윈도우 10을 사용 및 Excel 2016 하고하는 것은 여기 내 코드입니다 : 당신의 도움 시에 미리내 VBA 매크로에 오류 메시지가 나타납니다.

Sub Fehlercheck() 
    n = 0 
    i = 0 

    Do 
     If ActiveCell.Range(n, 1) = ActiveCell.Range(nextRow, 1) Then 
      ActiveCell.Offset(nextRow, 0).Select 
      n = n + 1 
     Else 
      ActiveCell.Offset(-n, 1).Select 
      Do While i <= n 
       If ActiveCell = ActiveCell.Offset(nextRow, 0) Then 
        ActiveCell.Offset(nextRow, 0).Select 
        i = i + 1 
       Else 
        ActiveSheet.Range(ActiveCell.Offset(-i, -1), Cells(n - i, 0)).Select 
        Selection.Interior.Color = RGB(255, 0, 0) 
        ActiveSheet.Cells(n + 1, 1).Select 
       End If 
      Loop 
     End If 
    Loop While ActiveCell.Offset(nextRow, 0).Value <> 0 
End Sub 

들으 : 여기에 질문 처음 질문은 완벽한 형식으로되지 않을 수 있습니다.

+3

어떤 문은 오류의 원인은? – FunThomas

+0

nextrow는 어디에도 선언되어 있지 않습니다. – Tom

+0

ActiveCell.Range (n, 1) = ActiveCell.Range (nextRow, 1) then –

답변

0

왜 VBA가 필요한가요?

이 규칙은 A2 : B2 범위를 선택한 후에이 규칙을 적용하고 원하는대로 형식을 설정 한 경우 rule = $ A2 <> $ B2를 사용하여 조건부 서식을 사용하면 쉽게 얻을 수 있습니다.

그러나 어떤 이유로, 당신은 VBA의 도움으로이를 달성하려면, 다음과 같이 그것을 시도 ...

Sub CompareCells() 
    Dim LastRow As Long 
    Dim Rng As Range, Cell As Range 

    Application.ScreenUpdating = False 

    'find last row used in column A 
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row 

    'setting the range in column A, assuming data starts from row2 
    Set Rng = Range("A2:A" & LastRow) 
    'looping through cells in column A 
    For Each Cell In Rng 
     If Cell <> Cell.Offset(0, 1) Then 
      Cell.Resize(1, 2).Interior.Color = vbRed 'this will apply the color to column A and B 
      'Cell.Interior.Color = vbRed  'this will apply color only to column A 
     End If 
    Next Cell 

    Application.ScreenUpdating = True 
End Sub 
+0

대단히 감사합니다. <3 –

+0

@ThomasSchmid 환영합니다! :) – sktneer

관련 문제