2013-08-12 8 views
1

VBA에 조금 익숙하며 해결할 수없는 런타임 오류가 발생합니다. 응용 프로그램 정의 또는 개체 정의 오류 : 나는VBA 런타임 오류 1004

Dim vRange As Range 
Sheets("Vert E").Cells.FormatConditions.Delete 
With Sheets("Vert E") 
    Set vRange = .Range(.Cells(2, 2)) 
End With 

vRange.Select 

마지막 줄, vRange.Select은 런타임 오류 '1004'라는 오류를 던지고 다음 코드를 가지고있다. 어떤 아이디어?

답변

1

몇 가지 :

1)) (.Cells 주위에 2,2를 .Range (_)를 제거합니다 : 그것은 불필요

2) 더

세까지로 이동) Range.Select는 Range의 워크 시트가 활성 시트 인 경우에만 사용할 수 있습니다. 그래서 그것을 확인하기 위해 vRange.Select 위와 같은 .Activate를 추가하고 End With를 vRange.Select 아래로 이동하십시오.

처럼 :

Dim vRange As Range 
With Sheets("Vert E") 
    .Cells.FormatConditions.Delete 
    Set vRange = .Cells(2, 2) 
    .Activate 
    vRange.Select 
End With 

희망

1

짧은 및 일의 깔끔한 방법을하는 데 도움이

Dim vRange As Range 
Dim ws as Worksheet 
Set ws = Sheets("Vert E") 
ws.Cells.FormatConditions.Delete 
Set vRange = ws.Cells(2, 2) 
ws.Activate 
vRange.Select 

참고 : avoid using Select

업데이트 :

VBE에서
vRange.Interior.Color = RGB(200, 100, 50) 

단지 vRange.Interior.를 입력하고 당신에게 도움이해야되는 VBE 인텔리의 활용이

예를 아래에

셀의 색상을 변경 사용 선택하지 않고 셀에 일부 서식을 적용하려면 내부 클래스의 사용 가능한 속성을 나열하여.

셀에 서식을 적용하는 가장 좋은 방법은 recording a macro 동안 코드를 편집 한 다음 VBE에서 코드를 편집하는 것입니다.

+0

감사합니다. ws.Activate 명령이 필요한 이유를 설명해 주시겠습니까? – user2539552

+0

그리고, 내가 실제로하려고하는 것은 일련의 셀에 조건부 서식 규칙을 적용하는 것입니다. 범위의 범위는 내가 가진 함수로 계산됩니다. select를 사용하지 않으려면 언급했다. 조건부 서식을 적용하는 또 다른 방법이 있습니까? – user2539552

+0

@ user2539552 [Range Object]의'Select' 메소드를 사용하려면 시트를'활성화 '해야합니다. (http://msdn.microsoft.com/en-us/library/office/ff838238.aspx). [Select] (http://msdn.microsoft.com/en-us/library/office/ff197597.aspx) 메서드가 작동하고 MSDN이 더 나은 방법을 제공하지 못하는데, 더 나은 설명을 드릴 수는 없습니다. 설명. 쉬운 단어로, 당신은 항상'Select' 메소드를 사용할 때 활성 시트에서 작업하고 있는지 확인해야합니다. 업데이트 된 답변 –