2017-05-23 1 views
0

코드를 실행하면 모든 변수가 변형으로 정의되어 있어도 형식 불일치 오류가 계속 발생합니다. 문제가 무엇인지 잘 모르겠습니다. 저는 VBA에 처음 접했기 때문에 어떤 도움을 주셔서 감사합니다! 감사! 당신이 설정 한 키워드를 사용하고 값 속성을 드롭 할 필요가 있으므로, 당신은 범위를 점점해야코드를 실행할 때 형식 불일치가 계속 발생합니다.

lookup_range = wbk.Worksheets("Sheet1").Range("A:B").value

이 아닌 값 :

Sub drink_2() 
Columns("E:H").Insert shift:=xlToRight, copyorigin:=xlFormatFromLeftOrAbove 
Range("F6").value = "Drink Price" 
Range("G6").value = "Drink Revenue" 
Range("H6").value = "Gross Sales less Drink Revenue" 
Dim i As Variant 
Dim item As Variant 
Dim drink_price As Variant 
Dim wbk As Workbook 
Set wbk = Workbooks.Open("C:\Users\username\Documents\vlookup table drink prices.xlsx") 
Dim lookup_range As Variant 
lookup_range = wbk.Worksheets("Sheet1").Range("A:B").value 
i = 7 
Do While Cells(i, 1).value <> "" 
item = Cells(i, 1).value 
Cells(11, 1).value = item 
drink_price = Application.WorksheetFunction.VLookup(item, lookup_range, 2, False) 
zero_check = Application.WorksheetFunction.IfError(drink_price, 0) 
If IsError(Application.WorksheetFunction.VLookup(item, lookup_range, 2, False)) Then 
    Cells(i, 6).value = "" 
Else 
    Cells(i, 6).value = Application.WorksheetFunction.VLookup(item, lookup_range, 2, False) 
End If 
Cells(i, 7).Formula = Cells(i, 6).value * Cells(i, 5).value 
Cells(i, 8).Formula = Cells(i, 4).value - Cells(i, 7).value 
Range("F:G").NumberFormat = "#,##0.00" 
i = i + 1 
Loop 
Cells.EntireColumn.AutoFit 
End Sub 
+3

한 코드의 어떤 라인 오류가 ***? *** –

+2

하는 당신이 오류가 '선 발생합니까? 가능한 한 많은 정보를 제공해주십시오. –

+0

VLOOKUP은'.WorksheetFunction'을 사용하여 변수에 오류를 전달하지 않습니다. 그러면 코드가 중지됩니다. 당신은 당신의 vlookups에서 그 부분을 제거해야합니다. –

답변

0

이것은 아마도 문제의 라인입니다.

set lookup_range = wbk.Worksheets("Sheet1").Range("A:B")

관련 문제