wawabagus Creative Commons License 2011.02.23 0 0 14102

Sziasztok!

Kéne egy kis segítség :-).

VBA-ban egy loopos VlookUp és egy primko kivonás kifogott rajtam.

 

A misszió, hogy a CheckFile fájlba beírjon egy Vlookupot összekötve a fájlt a PriceList fájllal. Mindezt loop-pal.

vRng hivatott leegyszerűsteni a dolgot, de azt írja ki az excel a vlookup függvényre hogy "NAME?"...szóval nem érti. Én sem.

 

Minden remekül működik. El is kezdi beírni a Vlookupot, de nem tudja értelmezni. Én meg nem értem mit nem ért.

Ti értitek?

Bocsánat kicsit hosszú a macro...

Előre is köszönöm a segítségeteket!!

 

-------------------------------------

Sub teszt2()
Dim wbPriceList As Workbook
Dim wbCheckFile As Workbook
Dim rWorkRange As Range
Dim vRng As Range
Dim x As Long

MsgBox "Open the file you want to check!"
Application.Dialogs(xlDialogOpen).Show
Set wbCheckFile = ActiveWorkbook

MsgBox "Open the PriceList!"
Application.Dialogs(xlDialogOpen).Show
Set wbPriceList = ActiveWorkbook


Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False

x = wbCheckFile.Worksheets.Count


For i = 1 To x
    wbCheckFile.Worksheets(i).Range("B:B").Insert Shift:=xlToRight
    wbCheckFile.Worksheets(i).Range("B1") = "UniqueCode"
    Set rWorkRange = wbCheckFile.Worksheets(i).Range("A2")
    
    Do While rWorkRange.Value <> Empty
        rWorkRange.Offset(0, 1).Value = "=RC[21]&""_""&RC[24]&""_""&RC[26]&"" Q""&ROUNDUP(MONTH(RC[6])/3,0)&"" ""&YEAR(RC[6])"
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop
Next i

For i = 1 To x
wbCheckFile.Worksheets(i).Range("B:B").Copy
wbCheckFile.Worksheets(i).Range("B:B").PasteSpecial xlPasteValues
wbCheckFile.Worksheets(i).Range("L:M").Insert Shift:=xlToRight
wbCheckFile.Worksheets(i).Range("O:P").Insert Shift:=xlToRight


wbCheckFile.Worksheets(i).Range("L1") = "PriceList.LaborPrice"
wbCheckFile.Worksheets(i).Range("M1") = "Diff"
wbCheckFile.Worksheets(i).Range("O1") = "PriceList.PartsPrice"
wbCheckFile.Worksheets(i).Range("P1") = "Diff"

Next i

wbPriceList.Worksheets(1).Range("B:B").Insert Shift:=xlToRight
wbPriceList.Worksheets(1).Range("B2") = "UniqueCode"
    Range("A3").Select
        
        Do While ActiveCell.Value <> Empty
            ActiveCell.Offset(0, 1).Value = "=RC[5]&""_""&RC[4]&""_""&RC[-1]"
            ActiveCell.Offset(1, 0).Select
        Loop
        
wbPriceList.Worksheets(1).Range("B:B").Copy
wbPriceList.Worksheets(1).Range("B:B").PasteSpecial xlPasteValues

For i = 1 To x
    Set rWorkRange = wbCheckFile.Worksheets(i).Range("B2")
    Set vRng = wbPriceList.Worksheets(1).Range("B:M")
    
    Do While rWorkRange.Value <> Empty
        rWorkRange.Offset(0, 10).Value = "=VLOOKUP(RC[-10],vRng,10,0)"
        rWorkRange.Offset(0, 11).Value = rWorkRange.Offset(0, 9).Value - rWorkRange.Offset(0, 10).Value
        Set rWorkRange = rWorkRange.Offset(1, 0)
    Loop
Next i


Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub