셀 길이 제한 설정 (Microsoft Excel)
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 [셀 길이 제한 설정]
.