하나의 시트 (이 경우 '테스트 시트')의 열 G에있는 하나의 셀의 값과 코드의 값을 일치시켜야하는 코드 프로젝트에서 작업하고 있습니다. 다른 시트의 B 열에있는 셀 (이 경우 '정보'). '정보'시트에서이 일치하는 행을 찾으면 일치하는 행의 C 열에서 정수 값을 검색해야합니다.런타임 오류 '13'VBA 형식 불일치
내 프로그램의 다른 부분에서 호출 할 수있는 함수에서이 코드를 구현하려고합니다. 여러 가지 방법으로 변수를 치수 지정하려고 시도했지만 주요 하위에서 함수를 호출 할 때 발생하는 유형 불일치로 인해 막혔습니다. 나는 매우 길을 잃고 좌절한다. 아무도 내가 잘못하고있는 것을 볼 수 있습니까?
주요 서브 전화 :
Sub AutoSend()
Dim Temp As Integer
Dim rng As Range
Dim r As Range
Set rng = Range("A2:I6")
For Each r in rng.Rows 'EDIT to more accurately reflect my code
Temp = FindHigh(Cells(r,7).Value) 'THROWS ERROR HERE
Next r
End Sub
함수 FindHigh라고 :
어쩌면Function FindHigh(Key As String) As Integer
Dim Target
Dim Success As Integer
Success = 0
Sheets("Information").Select
Set Target = Columns(2).Find(Key, LookIn:=xlValues)
If Not Target Is Nothing Then
Sheets("Information").Cells(Target.row, 3).Select
Success = Rows(Target.RowIndex).Cells(Target.RowIndex, 3).Value
End If
Sheets("Test Sheet").Select
FindHigh = Success
End Function
아하 나의 문제를 알아 냈습니다! 나는'셀 (r, 7) 대신'r.Cells (1,7)'을 써야했다. 고맙습니다! –