2017-12-12 2 views
1

최근에 내 매크로가 제대로 작동하지 않아이 줄에서 오류가 일치하지 않습니다. 'v = v + 시트 ("멤버 inkind") 셀 (i, 6) * 시트 (i, 7) '형식 불일치, 이유가 확실하지 않은 이유

그리고 왜 작동하는지는 알 수 없지만 최근에이 오류가 발생했습니다. 내 셀 (i, 6)과 셀 (i, 7)은 숫자이며 왜 여전히 오류가 있습니까?

Sub Macro2() 
' 
' Macro2 Macro 

Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Members Cash" 
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Members inkind" 
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Bailment" 
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Projects Cash" 
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Projects Inkind" 
Sheet1.Select 
Range("A1:M1").Copy 
Sheets("Members Cash").Select 
Range("A1:M1").PasteSpecial Paste:=xlValues 
Columns("A:N").EntireColumn.AutoFit 
Sheets("Members inkind").Select 
Range("A1:M1").PasteSpecial Paste:=xlValues 
Columns("A:N").EntireColumn.AutoFit 
Sheets("Bailment").Select 
Range("A1:M1").PasteSpecial Paste:=xlValues 
Columns("A:N").EntireColumn.AutoFit 
Range("A1:M1").Copy 
Sheets("Projects Cash").Select 
Range("A1:M1").PasteSpecial Paste:=xlValues 
Range("A1:M1").Copy 
Sheets("Projects Inkind").Select 
Range("A1:M1").PasteSpecial Paste:=xlValues 
With Sheet1 
    .AutoFilterMode = False 
    .Select 
    Range("$A$1:$M$999").AutoFilter Field:=2, Criteria1:=Array("*discussion*"), Operator:=xlFilterValues 
    Range(Cells(2, 2), Cells(2, 2).End(xlDown)).EntireRow.Delete 
    .AutoFilterMode = False 
End With 
    Sheet1.AutoFilterMode = False 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=9, Criteria1:="FY17" 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=2, Criteria1:=Array("*Membership*"), Operator:=xlFilterValues 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=4, Criteria1:=("<>"), Operator:=xlAnd, Criteria2:=("<>0") 


    Sheet1.Select 
    Range(Cells(1, 1), Cells(1, 1).End(xlToRight).End(xlDown)).Copy 
    Sheets("Cash donations").Select 
    Range("A2").PasteSpecial Paste:=xlValues 
    Range("A2").EntireRow.Delete 

    Sheet1.AutoFilterMode = False 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=9, Criteria1:="FY17" 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=2, Criteria1:=Array("*Membership*"), Operator:=xlFilterValues 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=5, Criteria1:=("<>"), Operator:=xlAnd, Criteria2:=("<>0") 

    Sheet1.Select 
    Range(Cells(1, 1), Cells(1, 1).End(xlToRight).End(xlDown)).Copy 
    Sheets("Members inkind").Select 
    Range("A2").PasteSpecial Paste:=xlValues 
    Range("A2").EntireRow.Delete 

     Sheet1.AutoFilterMode = False 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=9, Criteria1:="FY17" 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=2, Criteria1:=Array("*Bailment*"), Operator:=xlFilterValues 
    Sheet1.Range("$A$1:$M$999").AutoFilter Field:=5, Criteria1:=("<>"), Operator:=xlAnd, Criteria2:=("<>0") 

    Sheet1.Select 
    Range(Cells(1, 1), Cells(1, 1).End(xlToRight).End(xlDown)).Copy 
    Sheets("Bailment").Select 
    Range("A2").PasteSpecial Paste:=xlValues 
    Range("A2").EntireRow.Delete 

    Sheets("Members cash").Cells(1, 4).End(xlDown).Offset(1, 0) = Application.WorksheetFunction.Sum(Sheets("Members Cash").Range("D2:D999")) 
    Sheets("Bailment").Cells(1, 5).End(xlDown).Offset(1, 0) = Application.WorksheetFunction.Sum(Sheets("Bailment").Range("E2:E999")) 
    v = 0 
    Row = Sheets("Members inkind").Cells(1, 1).End(xlDown).Row 

    For i = 2 To Row 

     If IsEmpty(Sheets("members inkind").Cells(i, 7)) = True Then 
     v = v + Sheets("members inkind").Cells(i, 5) 
     Else 
     v = v + Sheets("members inkind").Cells(i, 6) * Sheets("members inkind").Cells(i, 7) 
     End If 

    Next i 

Sheets("Members inkind").Cells(1, 5).End(xlDown).Offset(1, 0) = v 

end sub 

고마워요!

+0

'세포 노력 고려할 수 있습니다 (I를, 6)'와 나'세포는 (i, 7)'과 같은 오류 값, 문자열 등 또는 정말 작거나 같은 비 수치를 포함 큰 숫자. 'IsErpty'와 함께'IsError'와'IsNumeric'을 사용하여 시작하십시오. – cyboashu

+0

위대한 분! 나는 그것을 얻었다! 고맙습니다! –

답변

0

당신은

v = v + Sheets("members inkind").Cells(i, 6).Value * Sheets("members inkind").Cells(i, 7).Value 
관련 문제