2014-03-13 2 views
0

DataCell 위치의 일부 데이터와 마스터 시트에서 찾은 정보를 기반으로하는 몇 가지 다른 셀을 채우는 매크로가 있습니다. 마스터 시트에서 "공백"을 찾으면 중지됩니다. 그런 다음 데이터 시트의 범위를 선택하고 해당 범위의 내용을 지우고 싶습니다.런타임 오류 '1004'메서드 'Object'_Global '범위'실패했습니다.

어떤 이유로 나는 필요한 범위를 선택하는 중 오류가 발생합니다. 코드는 다음에서 삭제됩니다.

Range("EmptyCell:AZ24").Select 

범위의 첫 번째 부분을 올바르게 선택하기 만하면됩니다. 이 첫 번째 셀은 매크로의 다른 부분에 따라 달라집니다.

비슷한 문제에 대한 다른 답변을 살펴본 결과 문제를 해결하지 못했습니다. 대신

Set DataCell = cnsu2table.Offset(0, x + 1) 
    If DataCell <> "" Then 
    DataCell.Offset(-2, 0) = cnsu2por 
    DataCell.Offset(-1, 0) = cnsu2fcr 
    DataCell.Offset(1, 0) = Application.WorksheetFunction.HLookup(DataCell, cnsu2array, 51, False) 
    ElseIf DataCell = "" Then 
     Set EmptyCell = DataCell.Offset(-2, 0) 
     Range("EmptyCell:AZ24").ClearContents 

답변

0

변경 :

Range("EmptyCell:AZ24").ClearContents 

으로는 :

:

Range(EmptyCell.Address & ":AZ24").ClearContents 

당신은 또한 귀하의 EmptyCell 변수를 선언한다

Dim EmptyCell as Range 

사용하기 전에.


EmptyCell

는 변수가 너무 변수를 반환하지 않습니다 따옴표 사이에 넣어하지만, 문자열 "EmptyCell"가 아니라 객체 EmptyCell를 반환합니다.

0

사용 :

Range(EmptyCell, Range("AZ24")).ClearContents