問題不夠明確,假設是相同表格,互補合併。大部分情況下,透過調整表格,可以實現互補合併。
1、函式解決:以B2單元格為例:=if(b2=””,vlookup(A2,sheet2!$A$2:$G$10,2,0),””)
2、VBA 解決,這個方法靈活性更高:將其中一張表各單元格數值放入一個二維陣列,然後以行為單位,遍歷單元格,根據預設條件將對應陣列值填入對應單元格即可。但是問題不明,可能性太多,下面以最簡單情況為例。
Sub test()
dim rng as range
dim iRow as long
dim n as integer
With sheets(1)
for iRow=2 to 10 ‘假設10行
for each rng in sheets(2).Range(“A2:A10”)
if .Cells(iRow,1)=rng then
For n=1 to 6’B列 到 G 列
If rng.offset(0,n)<>”” then
.cells(iRow,n+1)=rng.value
end if
next n
Exit for‘退出遍歷 Sheets(2) 單元格
End if
next
next iRow
end with
end sub
問題不夠明確,假設是相同表格,互補合併。大部分情況下,透過調整表格,可以實現互補合併。
1、函式解決:以B2單元格為例:=if(b2=””,vlookup(A2,sheet2!$A$2:$G$10,2,0),””)
2、VBA 解決,這個方法靈活性更高:將其中一張表各單元格數值放入一個二維陣列,然後以行為單位,遍歷單元格,根據預設條件將對應陣列值填入對應單元格即可。但是問題不明,可能性太多,下面以最簡單情況為例。
Sub test()
dim rng as range
dim iRow as long
dim n as integer
With sheets(1)
for iRow=2 to 10 ‘假設10行
for each rng in sheets(2).Range(“A2:A10”)
if .Cells(iRow,1)=rng then
For n=1 to 6’B列 到 G 列
If rng.offset(0,n)<>”” then
.cells(iRow,n+1)=rng.value
end if
next n
Exit for‘退出遍歷 Sheets(2) 單元格
End if
next
next iRow
end with
end sub