나는 동적으로 생성하는 검증) 가 있고, 최대 256 자. 내 검증 구성은 다음과 같습니다.
Level 1, Level 2, Level 3, Level 4.....
자 그럼 주변에 다양한 가리키고 다른 방법은 없나요?
검증 이미 VBA 에 생산되지. 현재 아무런 영향을 주지 않도록 어떻게 시트마다 가장 쉬운 방법은 한계가 있다 "고 답했다.
I& 약 256 문자 # 39 m, 길이 없다, 조엘 스폴스키 제한값 꽤 잘 설명이 될 수 있습니다. http://www.joelonsoftware.com/printerFriendly/articles/fog0000000319.html.
그러나 이 기능을 사용할 수 있습니다 VBA 가까이 복제됨 구축됨 검증에 의해 Worksheet_Change 코딩하기 이벤트. # 39 의 최대 제공하십시오 조룽 here& 한 것. 너 보려고 할 수 있는 범위를 처리하십니까 변경되는지 발리드발 주 캐시하려면 리팩터링 정보기술 (it), 셀, etc.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValidationRange As Excel.Range
Dim ValidValues(1 To 100) As String
Dim Index As Integer
Dim Valid As Boolean
Dim Msg As String
Dim WhatToDo As VbMsgBoxResult
'Initialise ValidationRange
Set ValidationRange = Sheet1.Range("A:A")
' Check if change is in a cell we need to validate
If Not Intersect(Target, ValidationRange) Is Nothing Then
' Populate ValidValues array
For Index = 1 To 100
ValidValues(Index) = "Level " & Index
Next
' do the validation, permit blank values
If IsEmpty(Target) Then
Valid = True
Else
Valid = False
For Index = 1 To 100
If Target.Value = ValidValues(Index) Then
' found match to valid value
Valid = True
Exit For
End If
Next
End If
If Not Valid Then
Target.Select
' tell user value isn't valid
Msg = _
"The value you entered is not valid" & vbCrLf & vbCrLf & _
"A user has restricted values that can be entered into this cell."
WhatToDo = MsgBox(Msg, vbRetryCancel + vbCritical, "Microsoft Excel")
Target.Value = ""
If WhatToDo = vbRetry Then
Application.SendKeys "{F2}"
End If
End If
End If
End Sub