Excel中VBA如何操作兩個表的資料

時間 2022-04-05 18:20:11

1樓:楊華山

public sub 複製資料()

dim sh1, sh2 as range

set sh1 = sheets("biao1").range("a1:a10000")

set sh2 = sheets("biao2").range("d1:d10000")

sheets("biao3").range("a1") = sheets("biao1").range("a1")

han = 0

for x = 1 to 100

sj = sheets("biao1").cells(x, 1)

if han > 0 then

for y = 1 to han

sj1 = sheets("biao3").cells(y, 1)

if sj1 = sj then

cf = true

exit for

else

cf = false

end if

next y

end if

if cf = false then

han = han + 1

sheets("biao3").cells(han, 1) = sheets("biao1").cells(x, 1)

end if

next x

han = han - 1

for x = 1 to 100

sj = sheets("biao2").cells(x, 1)

if han > 1 then

for y = 1 to han

sj1 = sheets("biao3").cells(y, 1)

if sj1 = sj then

cf = true

exit for

else

cf = false

end if

next y

end if

if cf = false then

han = han + 1

sheets("biao3").cells(han, 1) = sheets("biao2").cells(x, 1)

end if

next x

end sub

哈哈,學習了。usedrange.rows.count:表中有資料的最後一行的行號。

2樓:匿名使用者

思路:將表1表2當資料引入陣列1中

用陣列1中當每一個數和整個陣列對比如果只有一次相同則將這個數儲存在陣列2中

將陣列2全部寫入表3中

dim a

dim shuzu1()

dim shuzu2()

a=0for each dangqian in sheets("biao1").[a:a]

redim preserve shuzu1(a+1)

shuzu(a)= dangqian.value

a=a+1

next

for each dangqian in sheets("biao2").[a:a]

redim preserve shuzu1(a+1)

shuzu(a)= dangqian.value

a=a+1

next

for b= 0 to a

d=0for c=0 to a

if shuzu1(b)=shuzu1( c ) then

d=d+1

end if

next

if d=1 then

redim preserve shuzu2(b+1)

shuzu2(e)=shuzi1(b)

e=e+1

end if

next

for f= 0 to e

sheets("biao1").[a & e + 1] = shuzu2(e)

next

注意:未測試,如有錯誤請自己解決。

如何篩選兩個excel表中相同的資料

3樓:泡泡網

如何篩選兩個excel**間的相同資料?

4樓:匿名使用者

在sheet2的空白列,第一單元格(如e1)輸入公式:

=countif(sheet1!a:a,a1)

下拉複製公式,顯示結果為0的,說明沒有,否則就有。大於1的,說明sheet1中有多個。

5樓:匿名使用者

在sheet2中,隨便找個空白列,比如x

在x1中輸入 =lookup(a1,sheet1!a:a)然後下拉複製,直到sheet2第一列的的結尾這個公式的意思是,在sheet1的a列中,查詢sheet2的a1格的值,如果找到,則在x1中顯示a1的值。

否則顯示錯誤 #n/a。

下拉複製後,則相應查詢sheet2中的a2,a3,a4......的值。

6樓:三農曉雅

兩個**如何篩選相同資料

使用vba進行兩個**的資料複製

7樓:匿名使用者

加個按鈕

定義四個變數a,b,c,d as integera=sheet1.usedrange.rows.

count,b=sheet1.usedrange.colounms.

count.

c=sheet2.usedrange.rows.count,d=sheet2.usedrange.colounms.count.

然後用個迴圈

for h=1 to a

for i= 1 to b

sheet2.cells(c+a,d+b)=sheet1.cells(a,b)這樣不改變原來表二的資料,把表一的資料全部複製過來

8樓:不滅的信仰

worksheets("表一").copy after:=worksheets(worksheets.count)

worksheets(worksheets.count).name = format(now, "yyyymmddhhnnss")

9樓:魚木混豬喲

軟體版本:office2007

方法如下:

1.sheet1中有如下資料,利用vba複製到sheet2中:

2.alt+f11,輸入**如下:

3.f5執行**,返回excel中的sheet2就可以看到資料複製過來了:

10樓:

worksheets("sheet1").range("a1:c21").copy worksheets("sheet2").range("a21")

.copy之前的資料,是選取表名為sheet1的工作表的a1:21區域

把它們複製到工作表sheet2的a21單元格

貼上時,只需要知道貼上資料區域的左上角在哪,就可以了。

這段**我自己用過,絕對是可以用的

你可以把worksheets(“sheet1”),改為worksheets(變數名)

range裡的內容可以用("b" & row_min3 & ":" & "b" & row_max_2)之類的資料組合

這個方法用途很廣

11樓:匿名使用者

對內容進行復制,然後選擇“選擇性貼上”

如何把兩個檔案**用vba從另一個excel**匯入資料到這個**中?

12樓:枕風攬月

未說明清楚。兩個**是怎樣**?是相同**(複製貼上即可)?還是總分關係,最好能附上附件。

13樓:匿名使用者

發檔案,幫你寫。

[email protected]

14樓:九折臂

問題可能不算難題,可是理解你的這句話挺難的

excelvba如何把一個表裡的資料放入另一個表裡相應的單元格

15樓:匿名使用者

參考vlookup公式的用法

,圖例是要對d2輸入對應的數字,解釋=vlookup(a:a,h:k,2,0)的含義:

vlookup()接收4個引數,回圖中分答

別是a:a,h:k,2,0。

a:a代表以第一列為要查詢的值,h:k代表搜尋的範圍是h列到k列,2代表取出h:

k列中的第二列(左起),因為d2這個單元格是要找採購總量,那麼h:k列的第二列就是我們要的,所以是2,0是一個參數列示匹配的方法,完全匹配就用0。

那麼e2,f2的公式就分別是=vlookup(a:a,h:k,3,0)和=vlookup(a:

a,h:k,4,0),我們只要修改第三個引數就好了(可以看到找不到的品類是#n/a因為沒有對應的結果)。

對於你的情況,不同頁或者不同工作表,引用不如在同一頁這麼簡單,前2個引數你可以手動選擇,會自動填上,填好一個按逗號(英文半形)。

如果上面2個圖,不在一個工作簿(也就是不是同一個excel檔案),那麼在公式計算完後,選擇全部公式區域,複製,右鍵選擇“值”粘帖以去除公式,但如此一來這些值就是靜態的數值不會再改變。

excel中如何通過兩個日期算出年齡

datedif 函式 計算日期差。語法 datedif 開始日期,結束日期,y 示例 開始日期 1993 01 08 結束日期 今天 datedif 1993 01 08 today y 22歲。首先,應該將日期設定為正確的日期格式 1980 02 10,2010 07 21 然後,在單元格各輸入公...

VBA中RANGE如何引用變數,excel VBA中 Range函式將列作為變數怎麼表示?

庹甜恬 一項技能的學習過程中,最難的有兩個時間段,沒入門前不知道怎麼學,入門後不知道怎麼快速提高。反而當技術提高到一個層次後,能融會貫通,再看什麼都不那麼難了。我們每天講解一個vba的一個知識點,我們一起學習,共同進步。我們都知道range物件是excel應用程式中最常用的物件,一個range物件代...

不同資料夾,兩個excel工作簿,用vba同步

是點一個按鈕同步?還是每操作一步就要同步?excel如何將多個在不同資料夾的相同工作表匯入到一張表中,用vba實現 可以不用vba因為簡單 複製表1區域 選擇性貼上 轉置 確定到表2目標單元格 願以的話把 發給我幫助解決 二二五二八零九二三八 hi 我,給你 excel vba 一個工作簿的兩個不同...