註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 2 張 sheet 對照,然後把漏了的 加入,vba 應怎樣寫?
返回列表
下一主題
上一主題
發帖
[發問]
2 張 sheet 對照,然後把漏了的 加入,vba 應怎樣寫?
119933775544
發短消息
加為好友
119933775544
當前離線
UID
1912
帖子
2
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
windows 7
軟體版本
office 2003
閱讀權限
10
在線時間
3 小時
註冊時間
2010-10-11
最後登錄
2014-7-15
小學生
帖子
2
主題
1
精華
0
積分
9
點名
0
作業系統
windows 7
軟體版本
office 2003
閱讀權限
10
註冊時間
2010-10-11
最後登錄
2014-7-15
1
#
跳轉到
»
正序看帖
打印
字體大小:
t
T
發表於 2010-10-19 12:00
|
只看該作者
[發問]
2 張 sheet 對照,然後把漏了的 加入,vba 應怎樣寫?
Account.zip
(106.7 KB)
下載次數: 26
2010-10-19 12:00
真的很苦惱,請各位賜教。 見附件,謝。
收藏
分享
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
5
#
發表於 2010-10-20 08:25
|
只看該作者
本帖最後由 GBKEE 於 2010-10-20 08:27 編輯
回復
3#
basarasy
寫法不止一個
Sub Ex()
Dim D As Object, E, Rng As Range
Set D = CreateObject("SCRIPTING.DICTIONARY")
For Each E In Sheet2.Range("A2", Sheet2.Range("A" & Rows.Count).End(xlUp))
D(E.Value) = E & ""
Next
For Each E In Sheet1.Range("A3", Sheet1.Range("A" & Rows.Count).End(xlUp))
If D.Exists(E.Value) = False Then
If Rng Is Nothing Then Set Rng = E.Resize(, 3) Else Set Rng = Union(Rng, E.Resize(, 3))
End If
Next
If Not Rng Is Nothing Then Rng.Copy Sheet2.Range("A" & Rows.Count).End(xlUp).Offset(1)
End Sub
Sub Ex1()
Dim E, a&, Rng As Range
For Each E In Sheet1.Range("A3", Sheet1.Range("A" & Rows.Count).End(xlUp))
If IsError(Application.Match(E, Sheet2.[a:a], 0)) Then
If Rng Is Nothing Then Set Rng = E.Resize(, 3) Else Set Rng = Union(Rng, E.Resize(, 3))
End If
Next
If Not Rng Is Nothing Then Rng.Copy Sheet2.Range("A" & Rows.Count).End(xlUp).Offset(1)
End Sub
複製代碼
TOP
119933775544
發短消息
加為好友
119933775544
當前離線
UID
1912
帖子
2
主題
1
精華
0
積分
9
金錢
9
點名
0
作業系統
windows 7
軟體版本
office 2003
閱讀權限
10
在線時間
3 小時
註冊時間
2010-10-11
最後登錄
2014-7-15
小學生
帖子
2
主題
1
精華
0
積分
9
點名
0
作業系統
windows 7
軟體版本
office 2003
閱讀權限
10
註冊時間
2010-10-11
最後登錄
2014-7-15
4
#
發表於 2010-10-19 17:12
|
只看該作者
回復
3#
basarasy
謝謝各位師兄,我會試試看。
TOP
basarasy
發短消息
加為好友
basarasy
當前離線
UID
462
帖子
287
主題
65
精華
0
積分
357
金錢
357
點名
0
作業系統
xp
軟體版本
OFFIC 2007
閱讀權限
20
在線時間
171 小時
註冊時間
2010-6-4
最後登錄
2015-8-19
中學生
帖子
287
主題
65
精華
0
積分
357
點名
0
作業系統
xp
軟體版本
OFFIC 2007
閱讀權限
20
註冊時間
2010-6-4
最後登錄
2015-8-19
3
#
發表於 2010-10-19 13:36
|
只看該作者
不可以直接copy到sheet2嗎?
50 字節以內
不支持自定義 Discuz! 代碼
TOP
oobird
發短消息
加為好友
oobird
當前離線
街友一族
UID
17
帖子
1572
主題
16
精華
2
積分
1521
金錢
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
在線時間
832 小時
註冊時間
2010-5-1
最後登錄
2016-1-13
頭銜:
街友一族
超級版主
帖子
1572
主題
16
精華
2
積分
1521
點名
0
作業系統
xp
軟體版本
office 2003
閱讀權限
150
性別
男
註冊時間
2010-5-1
最後登錄
2016-1-13
2
#
發表於 2010-10-19 13:34
|
只看該作者
Sub yy()
With Sheet1
rng = .Range(.Cells(3, 1), .Cells(3, 3).End(4))
End With
With Sheet2
For i = 1 To UBound(rng)
If .[A:A].Find(rng(i, 1), , , 1) Is Nothing Then
.Cells(.[a65536].End(3).Row + 1, 1).Resize(, 3) = Array(rng(i, 1), rng(i, 2), rng(i, 3))
End If
Next
End With
End Sub
複製代碼
TOP
靜思自在 :
慈悲沒有敵人,智慧不起煩惱。
返回列表
下一主題
上一主題
Excelㄧ般區
新手測試
電腦各種硬體討論
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 • 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲