문구가이 질문에 다소 이상하다는 것을 알았지 만 필자는 비교적 코딩에 익숙하지 않아 내 문제를 단어에 넣는 방법을 완전히 알지 못했습니다. 한 시트의 데이터 열을 반복하고 해당 열의 각 셀을 다른 시트의 지정된 행에서 검색하는 검색 용어로 사용하려고합니다. 내가 상단에있는 "F = a.Cells"에 대한 올바른 구문을 사용하고 있는지 나는 루프가 특정 셀 대신 현재있는 셀을 참조 할 이후명시 적으로 정의되지 않은 셀의 데이터 참조
Sub Test1()
n = 0
' n is the counter for the number of times that the search term will appear
Dim sn As String
For Each a In Worksheets("Sheet1").range("A5:A34").Value
f = a.Cells
sn = range(a).Value
' each sn is equal to the contents of the cell "a", which will be the serial number of the tooling
For Each c In Worksheets("RunsheetTest").range("A3:R3")
' Defines c as a range with cells A3 to R3?
If InStr(c.Cells, sn) > 0 Then
n = n + 1
Else
n = n
End If
' If the serial number is found in one of the cells, add 1 to n and move on to the next.
Next c
MsgBox "Searching for " & sn
range(a).Value = n
Next a
' I'm also getting an error here, saying "for loop not initialized", however I thought I initialized it above.
End Sub
나의 가장 큰 문제는,과 왜 컴파일러에서 내 루프에 오류가 발생하는지. VBA에서 중첩 루프를 실행할 수 있습니까? 또한, 내 의견 중 일부가 실제로 일어나고있는 것에 대해 완전히 정확하지 않은 경우 알려 주시기 바랍니다.
미리 감사드립니다.
"f"란 무엇입니까? 변수 이름으로 무엇을하려고하는지 이해하기가 어렵습니다. – RGA
VBA에서 범위를 제대로 참조하는 방법과 For Each 루프가 작동하는 방법을 연구하는 것이 좋습니다. 귀하의 일반적인 구조는 (코드 설정 방법과 같이) 건전하지만 구문/방법은 모두 꺼져 있습니다. – RGA
저는 @RGA와 계약을 맺었습니다. 'a','c','f'는 변수를 설명하는 이름이 아니므로 결국 혼란 스러울 것입니다. :) 개인적으로 각 변수는 데이터 형식에 대한 3 글자 약어로 시작합니다. 예를 들어 일련 번호 변수의 경우 문자열 인'strSN'이거나 범위가 아니기 때문에'a' 대신'rngSearchTerm'이됩니다. 검색하고자하는 값이 포함되어 있습니다. – Tim