열 A, B 열 및 D 열의 값과 일치하는 열 E의 값을 반환해야하는 매크로가 있습니다.수식이 올바르게 작동하면 VBA가 "형식 불일치"를 반환합니다.
=SUMPRODUCT(--(A1:A180="Category Name"),--(B1:B180="Specific Type"),--(D1:D180=2015),(E1:E180))
을하지만 다음 VBA 프로그램은 "형식 불일치 오류"를 반환 : 엑셀 잘 작동합니다. 프로그램은 특정 시트 아래가 아닌 모듈로 있습니다. '시트 이름'범위도 존재하는지 확인했습니다. 누구든지 실수가 무엇인지 알 수 있습니까?
레코드의 경우 열 a와 b는 텍스트이고 열 d와 e는 숫자입니다.
Function LocateFirstCell()
Dim FirstCell
Dim ColA
Dim ColB
Dim ColD
Dim ColE
Dim Name As String
Dim BOD As String
Dim Year As Integer
Set ColA = Worksheets("Sheet Name").Range("A1:A180")
Set ColB = Worksheets("Sheet Name").Range("B1:B180")
Set ColD = Worksheets("Sheet Name").Range("D1:D180")
Set ColE = Worksheets("Sheet Name").Range("E1:E180")
Name = "Category Name"
BOD = "Specific Type"
Year = 2015
FirstCell = [SUMPRODUCT(--(ColA=Name),--(ColB=BOD),--(ColD=Year),(ColE))]
'=SUMPRODUCT(--(A1:A180="Category Name"),--(B1:B180="Specific Type"),--(D1:D180=2015),(E1:E180))
MsgBox ("FirstCell is " & FirstCell)
End Function
모두 [.NAME (다음
[]
짧은ActiveSheet.Evaluate
에 대한 손 당신은 그것을 쓰는 하나의 문자열로 변수를 연결할 있어야합니다 library/office/aa175750 (v = office.11) .aspx) 및 [Year] (https://msdn.microsoft.com/en-us/library/88k2aec8.aspx)는 ** 예약어 **입니다. 특별한 이유가없는 한 예약어를 다른 용도로 사용하는 것은 결코 좋은 생각이 아닙니다. – Jeeped