2013-04-16 2 views
1

셀 선택을 삭제하는 vba 매크로가 있습니다. 셀을 삭제 한 후 셀이 자동으로 위로 이동합니다. 셀 아래에 차트가 있고 셀이 이동하면 모든 것이 방해받습니다. 여기 위로 이동하지 않고 셀을 삭제하십시오.

내가 세포
ActiveSheet.UsedRange.Select 
ActiveSheet.Range("C2:H8").Select 
Selection.Delete 

제가 위로 이동없이 삭제할 수있는 방법을 알려주세요

을 삭제 사용하고있는 코드입니다.

+0

세포가 삭제되면 아래 또는 왼쪽의 세포가 이동하여 이동합니다. 차트에 관해서 어떻게 방해를 받았습니까? –

답변

2

정확하게 이해한다면, 삭제 대신 ClearContents를 사용하면 찾고있는 기능을 제공해야한다고 생각합니다.

http://msdn.microsoft.com/en-us/library/office/aa223828%28v=office.11%29.aspx

또는, 당신은 당신이 무엇을하려고에 더 적합한 경우, 세포가 이동하는 방법을 지정할 수 있습니다

에서 : http://msdn.microsoft.com/en-us/library/office/aa223863%28v=office.11%29.aspx

식입니다. 삭제 (Shift)

표현 필요. Range 개체를 반환하는 식입니다.

교대 선택적 변형. Range 객체에만 사용됩니다. 삭제 된 셀을 바꾸기 위해 셀을 이동하는 방법을 지정합니다. 다음 XlDeleteShiftDirection 상수 중 하나 일 수 있습니다 : xlShiftToLeft 또는 xlShiftUp. 이 인수를 생략하면 범위 모양에 따라 Microsoft Excel이 결정됩니다.

1

ClearContents 만 사용한 적이 있습니까?

ActiveSheet.Range("C2:H8").ClearContents 

당신이 병합 된 셀에 문제가있는 경우

시도 : 당신은 아무것도 변화하지 않고 내용을 비울 수 있습니다

ActiveSheet.Range("C2:H8").ClearContents 

를 사용할 수

ActiveSheet.Range("C2:H8").Value = "" 
+0

clearcontents를 시도했지만 병합 된 셀이 거의 없으므로 "병합 된 셀을 변경할 수 없습니다"라는 오류가 발생합니다. – Jill448

+0

값을 "clearcontent"가 아닌 ""로 설정하십시오. –

2

.

+0

@Dick : clearcontents를 시도했지만 병합 된 셀이 거의 없으므로 "병합 된 셀을 변경할 수 없습니다"라는 오류가 발생합니다. – Jill448

+0

오, 나는 병합 된 세포가 싫어. 'ActiveSheet.Range ("C1 : H8")을 시도해보십시오. MergeArea.ClearContents' –

+0

저는 일반 셀과 병합 된 셀의 혼합 선택을 시도했는데 완벽하게 작동합니다. 어떤 버전의 Excel을 사용하고 있습니까? –

관련 문제