2014-04-22 2 views
0

여러 데이터 유효성 검사가 포함 된 워크 시트가 주어지면이 범위를 통과 할 수있는 vba 코드를 작성하고 싶습니다.데이터 유효성 검사의 주소 범위를 살펴보십시오.

나는 ActiveCell.SpecialCells(xlCellTypeAllValidation).Address이 모든 범위의 주소를 반환한다는 것을 알고 있습니다. 예를 들어 $A$1:$C$4의 유효성 검사 유형이 xlValidateWholeNumber이고 $E$8:$G$9의 유효성 검사 유형이 xlValidateTextLength 인 경우 ActiveCell.SpecialCells(xlCellTypeAllValidation).Address$A$1:$C$4, $E$8:$G$9을 반환합니다. 그렇다면이 결과를 조작하여 $A$1:$C$4을 연구 한 다음 $E$8:$G$9을 조사하여 유효성 검사의 범위와 세부 정보 (유형, ErrorTitle ...)를 인쇄하십시오.

Address의 결과를 나눌 함수가 있다면 알려주시겠습니까?

그렇지 않으면 다른 데이터 유효성 검사를 수행 할 다른 방법이 있습니까?

답변

0

아래 코드는 각각의 셀 분리 "블록"경고 것이다

Dim rng As Range, a as Range 

On Error Resume Next 
Set rng = ActiveCell.SpecialCells(xlCellTypeAllValidation) 
On Error Goto 0 

If Not rng Is Nothing Then 
    For Each a In rng.Areas 
     MsgBox a.Address(false,false) 
    Next a 
Else 
    MsgBox "No validation found" 
End If 
관련 문제