개념 증명을 테스트하기 위해 더 큰 프로그램에 대한 코드 작성을 작성했습니다. (따라서 적은 양의 코드입니다.) 주요 코드 뒤에있는 아이디어는 사용자가 CheckBox가있는 사용자 정의 사용자 정의 폼을 사용하여 배열을 작성한 다음 arry가 "1"의 모든 언급 (즉, 확인란을 선택한 경우)을 검색합니다. 그런 다음 arry의 행 번호를 사용하여 어떤 확인란이 선택되었는지에 따라 일련의 추가 userform을로드합니다. 이 작업을 쉽게 수행 할 수있는 방법이 있다고 상상해보십시오. 그러나 이것이 내가 선택한 방법입니다. VBA에 대한 코딩 경험은 상당히 제한되어 있습니다!.Find 함수 사용 VBA - 첫 번째 값을 반환하지 않음
생성 된 배열의 예를 첨부했습니다. 나는이 코드를 실행하면 경우를 제외 inteneded로
, 그것은 작동 할 때 세포 (1,2) = 1
사람이 왜, 내가 이상 struggaling했습니다 발견 할 수 지금 당분간.
Sub Array_Finder()
Dim StartFinder As String
Dim StartFinderZero As String
Dim StartFinderCheck As String
i = 4 : j = 1
StartFinderZero = 0 : StartFinderCheck = i + 2
For StartFinderTest = 1 To i + 1
StartFinder = StartFinderZero + 1
If StartFinderCheck > StartFinder Then
StartFinderZero = Range(Cells(StartFinder, 2), Cells(i + 1, 2)).Find _
(What:="1", after:=Cells(StartFinder, 2), searchdirection:=xlNext).Row
Cells(StartFinderTest, 3) = StartFinderZero
Else
MsgBox ("here")
Exit For
End If
Next StartFinderTest
End Sub
@Tomm 나는 다른 사람들의 편집에 대해 자주 언급하지 않지만, 어떤 기괴한 세계 * genorate * 및 * arrey *가 정확한지? – AntiDrondert
@AntiDrondert 필자는 왜 내가 그런 식으로 편집했는지 흥미롭게 느낀다. – Tomm
예상되는 출력은 무엇입니까? 또한 모든 변수는'Dim'으로'Long'이 아니라'String'으로 설정되어야합니다. 값이 발견 된 곳의'C' 열에 행이 표시되기를 원하십니까? – Tom