두 개의 워크 북이 있습니다. "Main"과 "Aux"라고 부르 자.한 워크 시트의 값을 사용하여 다른 워크 시트의 값을 확인한 다음 셀로 돌아 가기
"주"에서 실행되고 "Aux"의 데이터를 사용할 함수를 작성하고 있습니다.
"기본"에는 하나의 워크 시트에있는 사람들의 목록이 있습니다. 각 사람을 위해, 나는 그 사람이 갖고있는 기술이 "> 3"인 통합 문서 "Aux"를 확인하고,이를 연결하고 통합 문서 "Main"에 셀을 채우고 싶습니다.
이것은 지금까지 작성한 코드입니다. 문제는 범위가 "기본"통합 문서를 참조하고 있으며 원하는 데이터가 "Aux"통합 문서에 있다는 것입니다.
스킬은 열 "A"는 "보조"책
- 열 G는 각 사람의 이름을 보관 유지하는 "기술"을 가질 때 식별됩니다. "보조"에
- 열 D는
코드 변수 뎁과 deb2가있는 MsgBox를 사용하여 디버깅에 사용되는
Public Function Arroz(name As String) As String
Dim rngFound As Range
Dim strFirst As String
Dim strID As String
Dim strDay As String
Dim skillsAs String
Dim deb As String
Dim deb2 As String
strID = "Person number one"
strDay = "Technical"
skills= ""
Set rngFound = Workbooks("Aux.xlsx").Sheets("Skills Mao").Columns("G").Find(strID, Cells(Rows.Count, "G"), xlValues, xlWhole)
If Not rngFound Is Nothing Then
strFirst = rngFound.Address
Do
deb = Cells(rngFound.Row, "A").Text
deb2 = Cells(rngFound.Row, "M").Value
MsgBox deb
MsgBox deb2
If LCase(Cells(rngFound.Row, "A").Text) = LCase(strDay) And Cells(rngFound.Row, "M").Value >= 4 Then
skills = skills & Cells(rngFound.Row, "D").Text & " ,"
End If
Set rngFound = Columns("G").Find(strID, rngFound, xlValues, xlWhole)
Loop While rngFound.Address <> strFirst
End If
strLast = rngFound.Address
Set rngFound = Nothing
Arroz = competencies
Exit Function
End Function
누군가가 나를 알아내는 데 도움이 할 수있는 작업 내가 잘못하고있어?
이 코드를 실행할 때 어떤 일이 발생하는지 알려주십시오. 오류 메시지가 나타 납니까? 'rngFound'는 무언가를 발견했을 때 아무것도 반환하지 않습니까? – CodeJockey
이 코드를 실행하면 worshkeet "Aux"를 예상 할 때 워크 시트 "Main"에서 값을 얻습니다. – noitib