簡體   English   中英

VBA-根據另一個工作簿上的值填充列

[英]VBA - Populate column based on value on another workbook

如果這不是問這個問題的合適地點,我深表歉意。 但是,我對應該向誰尋求幫助感到迷茫。 我知道我想完成的工作可以使用= IF公式完成。 但是,我想看看是否有VBA等效項。

以下是指向電子表格(Concur AX上載副本)和CSV(Concur提取)的驅動器鏈接。

從理論上講,如果“ Concur Extract”中的F列中包含“部門”,我希望工作表中標題為“ Concur AX Upload的副本”的列I填充“ LLC”。 如果“一致提取”中的F列中包含“屬性”,那么我希望工作表中標題為“一致AX上傳的副本”的第I列填充“一致提取”中G列中已經給出的值。 如果不清楚,對不起! 謝謝!!!!

https://drive.google.com/open?id=1NGFdkydLx7gXwLFBpp5bKiZOSsPTqBN1

我根據兩個工作簿編寫以下代碼。 對我來說很好。 請調整工作簿Concur Extract 20180614.csv的路徑:

Sub test()

'Adapt this path
Dim path_wb_csv As String
path_wb_csv = "C:\test\Concur Extract 20180614.csv"

'Define the workbook
Dim wb As Workbook
Dim wb_csv As Workbook
Set wb = ThisWorkbook
Set wb_csv = Workbooks.Open(path_wb_csv)

'define the sheets that we use
Dim ws As Worksheet
Dim ws_csv As Worksheet
Set ws = wb.Sheets("Expense JE")
Set ws_csv = wb_csv.Sheets("Concur Extract 20180614")


'define le last row
'adapt the column letter to define each last row of work book - I use column A
Dim wb_lastRow As Long
wb_lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row + 1

For i = 2 To wb_lastRow Step 1


    If ws_csv.Cells(i, 6).Value = "Department" Then

        ws.Cells(i, 9).Value = "LLC"

    ElseIf ws_csv.Cells(i, 6).Value = "Property" Then

        ws.Cells(i, 9).Value = ws_csv.Cells(i, 7).Value

    End If

Next i


wb_csv.Close

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM