Craig는 워크 시트를 개발 중이며 주어진 셀에 입력 할 수있는 최대 문자 수를 지정하는 방법이 있는지 알고 싶어합니다. 그는 데이터 유효성 검사를 사용하여 제한을 부과하는 것을 원하지 않습니다.

(Craig가 언급했듯이)없이 Excel에서 직접이 작업을 수행 할 수있는 방법은 없습니다.

데이터 유효성 검사를 사용합니다. 그러나 원하는 효과를 얻기 위해 시도 할 수있는 몇 가지 방법이 있습니다. 먼저 수식을 사용하여 셀의 길이를 확인한 다음 원하는 경우 오류 메시지를 표시 할 수 있습니다. 예를 들어 확인하려는 셀이 C 열에있는 경우 다음과 같은 수식을 사용할 수 있습니다.

=IF((LEN(C1)>15),"Cell is Too Long","")

확인중인 셀의 오른쪽에있는 셀 (예 : D1 셀)에 수식을 배치 한 다음 필요한만큼 셀 아래로 복사합니다.

C1에서 입력 한 경우 15 자 이상이면 메시지가 표시됩니다.

이러한 직접적인 접근 방식이 바람직하지 않은 경우 매크로를 사용하여 검사를 수행해야합니다. 다음은 워크 시트에서 내용이 변경 될 때마다 트리거되는 간단한 예입니다. 그런 다음 워크 시트의 각 셀이 15 자 이하인지 확인합니다. 이러한 셀이 발견되면 메시지 상자가 표시되고 셀이 지워집니다.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

For Each cell In UsedRange         If Len(cell.Value) > 15 Then             MsgBox " Can't enter more than 15 characters"

cell.Value = ""

End If     Next End Sub

보다 강력한 접근 방식은 이벤트 처리기를 확인하여 길이 제한이 필요한 셀 범위 내에서 변경이 이루어 졌는지 확인하는 것입니다.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim rng As Range     Dim rCell As Range     Dim iChars As Integer     On Error GoTo ErrHandler

'Change these as desired     iChars = 15     Set rng = Me.Range("A1:A10")



If Not Intersect(Target, rng) Is Nothing Then         Application.EnableEvents = False         For Each rCell In Intersect(Target, rng)

If Len(rCell.Value) > iChars Then                 rCell.Value = Left(rCell.Value, iChars)

MsgBox rCell.Address & " has more than" _                   & iChars & " characters." & vbCrLf _                   & "It has been truncated."

End If         Next     End If

ExitHandler:

Application.EnableEvents = True     Set rCell = Nothing     Set rng = Nothing     Exit Sub

ErrHandler:

MsgBox Err.Description     Resume ExitHandler End Sub

이 매크로를 사용하려면 iChars에 할당 된 값 (허용되는 최대 길이를 나타냄)과 rng에 할당 된 범위 (현재 A1 : A10으로 설정 됨)를 변경하기 만하면됩니다. 매크로는 지정된 범위 내의 변경 사항 만 확인하기 때문에 사용 된 모든 셀을 확인하는 매크로보다 큰 워크 시트를 사용하는 것이 훨씬 빠릅니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (3150)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excelribbon-Setting_a_Length_Limit_on_Cells [셀 길이 제한 설정].