簡體   English   中英

將兩列從一個Excel工作簿更新到另一工作簿

[英]Updating 2 columns from one excel workbook to other workbook

我有兩個工作表Book A和BookB。

書籍A有3欄

Elements (duck,
elephant,deer,monkey), Weight(20,70,18,25), Size(10,30,10,6)

分別。

圖書B的Elements (elephant,deer), Weight (80,28) and size(40,20)分別相同。

我需要從Book A中的Book B中更新Animals欄的重量和大小。

鹿在Book B中的重量為28,大小為20。那么它應該在Book A中更新鹿的體重和尺寸,而不是在體重18和大小10中。

我看到了VLOOKUP函數和一些相關問題,但找不到它。 請幫助我。 提前致謝..!!!

您可以嘗試以下方法:

首先打開書籍B,然后離開書籍A,右鍵單擊工作表名稱,然后選擇查看代碼副本,並將其粘貼到編輯位置,然后按綠色播放按鈕或F5

*****不要忘記在運行前保存文件的備份副本,以防任何數據損壞*****

Sub updateBook()

Dim loop1, loop2 As Long
Dim rows1, rows2 As Integer

Dim Path As String
Path = "Path to Book A"  'edit within the quotes the path to Book A file e.g C:\users\name\BookA.xlsm

Dim openWb As Workbook
Set openWb = Workbooks.Open(Path)

Dim openWs As Worksheet
Set openWs = openWb.Sheets("Sheet Name in Book A")   'edit within the quotes the sheet name of Book A

Dim currentWb As Workbook
Set currentWb = ThisWorkbook

Dim currentWs As Worksheet
Set currentWs = currentWb.Sheets("Sheet Name in Book B")  'edit within the quotes the sheet name of Book B

rows1 = currentWs.UsedRange.Rows.Count
rows2 = openWs.UsedRange.Rows.Count

For loop1 = 1 To rows1 Step 1
    For loop2 = 1 To rows2 Step 1
        If openWs.Cells(loop2, 1).Value = currentWs.Cells(loop1, 1).Value Then
        'check if names match between books
            openWs.Cells(loop2, 2).Value = currentWs.Cells(loop1, 2).Value
            'replaces the old value in 2nd column with new value from Book A
            openWs.Cells(loop2, 3).Value = currentWs.Cells(loop1, 3).Value
            'replaces the old value in 3rd column with new value from Book A
        End If
    Next loop2
Next loop1

Application.DisplayAlerts = False
openWb.Close (True)
'saves and closes book B

End Sub

暫無
暫無

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

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