VBA根據單據號從兩個不同的sheet裡篩選資料

2021-06-25 21:24:47 字數 1977 閱讀 3776

public sub filter()

' sheet1 是從乾坤裡匯出的總表

' sheet2 是自己維護的未開票的提單號

' 此函式是用來自動篩選匹配提單號,如果已經未開票的提單號則在sheet1,則sheet1的s列的值為 1 ,否則為 0

' 只要把已經開票的提單號拷貝到sheet2 的e列就可以了,sheet1 從乾坤匯出來的格式不變化

'if workbooks(1).worksheets("sheet1") is nothing then

'msgbox "sheet1不存在"

'else

'msgbox "sheet1存在"

'end if

dim sheet1rowcount as integer

dim sheet2rowcount as integer

sheet1rowcount = sheet1.usedrange.rows.count  '乾坤匯出的excel

sheet2rowcount = sheet2.usedrange.rows.count  '自己維護的已經開票的excel

dim sourcedata as string

dim targetdata as string

dim isfound as string

isfound = "no"   '沒有匹配到

dim i as integer   '外迴圈的次數

dim j as integer   '內迴圈的次數

dim k as integer

dim p as integer

'不知道為啥一次迴圈刪除不了所有的空格

for p = 1 to 20

sheet2rowcount = sheet2.usedrange.rows.count  '自己維護的已經開票的excel

for k = 1 to sheet2rowcount

if rtrim(ltrim(sheet2.cells(k, 5).value)) = "" then

sheet2.rows(k).delete

end if

next

next

sheet2rowcount = sheet2.usedrange.rows.count  '自己維護的已經開票的excel

for i = 4 to sheet1rowcount   '乾坤匯出的excel

sourcedata = sheet1.cells(i, 5).value

for j = 1 to sheet2rowcount

targetdata = sheet2.cells(j, 5).value  '自己維護的已經開票的excel

if sourcedata = targetdata then

sheet1.cells(i, 19).value = 1   '匹配成功

isfound = "yes"

else

sheet1.cells(i, 19).value = 0    '匹配失敗

isfound = "no"

end if

if isfound = "yes" then

exit for

end if

next

next

'匹配成功後拷貝到sheet3,sheet4

dim r as integer

dim s as integer

r = 0

s = 0

for i = 4 to sheet1rowcount   '乾坤匯出的excel

if sheet1.cells(i, 19) = 1 then

r = r + 1

sheet1.rows(i).copy sheet3.rows(r)

else

s = s + 1

sheet1.rows(i).copy sheet4.rows(s)

end if

next

git log兩個branch的不同

可以通過下面的方法看出兩個branch的不同 git log oneline branch1 branch 2 可以比較出branch1 有的commit 而branch2 沒有。反之既然 git log oneline branch1.branch2 可以比較出branch1 比branch2 多...

兩個學弟的不同IT發展之路

念本科院校在北京不甚出名,別人問我是哪個院校的,通常我只回答我的碩士畢業學校。然而,工作了幾年,碰到的都是本科院校的師兄師姐師弟師妹,碩士學校畢業的卻乙個都沒有碰到,很是奇怪。2006年碰到了兩個學弟,斷斷續續進行了一些交往,想想兩個學弟都很有意思,暫且稱呼乙個是a,另外乙個是b吧。a君,是在乙個商...

兩個學弟的不同IT發展之路

念本科院校在北京不甚出名,別人問我是哪個院校的,通常我只回答我的碩士畢業學校。然而,工作了幾年,碰到的都是本科院校的師兄師姐師弟師妹,碩士學校畢業的卻乙個都沒有碰到,很是奇怪。2006年碰到了兩個學弟,斷斷續續進行了一些交往,想想兩個學弟都很有意思,暫且稱呼乙個是a,另外乙個是b吧。a君,是在乙個商...