- 帖子
- 582
- 主題
- 75
- 精華
- 0
- 積分
- 682
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-10-30
- 最後登錄
- 2026-4-13
|
回復 3# GBKEE
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range, Rng As Range
If Target.Column = 1 Then
With Sheets("oracle")
For i = 1 To .UsedRange.Rows.Count
Set A = .UsedRange.Rows(i).Find(Target)
If Not A Is Nothing Then
If Rng Is Nothing Then
Set Rng = .UsedRange.Rows(i)
Else
Set Rng = Union(Rng, .UsedRange.Rows(i))
End If
End If
Next
End With
End If
If Not Rng Is Nothing Then Rng.Copy Target.Offset(, 1)
End Sub
資料庫
A B C D E F G
姓名 性別 電話 國藉 車牌 年齡 職業
John 男 11111111 China 有 25 Clerk
Peter 男 22222222 Germany 有 30 A/C
David 男 33333333 USA 無 15 Admin
Tina 女 44444444 China 有 25 Clerk
June 女 55555555 Italy 無 35 Clerk
想要效果:
1)如何將尋找範圍規定某一個欄,不是全部都在尋找範圍。
就是想在姓名(A)一欄設定為尋找範圍
例如:規則:想找含有"a"的資料
結果:
Tina 女 44444444 China 有 25 Clerk
2)If Target.Column = 1 Then 可否改成指定某個字嗎?例如:Target = "TT"
如何設定將Target不是Column 而是指定一個字。
規則:Target含有“in”子資料
結果:
John 男 11111111 China 有 25 Clerk
David 男 33333333 USA 無 15 Admin
Tina 女 44444444 China 有 25 Clerk
3)可否設定幾個尋找的規則嗎?例如:Client = "John" Payment term = “TT” ORIGIN = "USA"
規則:性別=“男”; 車牌=“有”
結果:
John 男 11111111 China 有 25 Clerk
Peter 男 22222222 Germany 有 30 A/C
規則:國藉=“China"; 車牌=“有”;年齡="25"; 職業="Clerk"
結果:
John 男 11111111 China 有 25 Clerk
Tina 女 44444444 China 有 25 Clerk
4)可否將Target指定某一個儲存格?
例如將Target指定是另一個表的儲存格"A1"
只要A1輸入"男", Target就是"男"
結果:
John 男 11111111 China 有 25 Clerk
Peter 男 22222222 Germany 有 30 A/C
David 男 33333333 USA 無 15 Admin
或者將Target指定是另一個表的儲存格"A1" 及 "A2"
只要A1輸入"男", A2輸入"有“ ;Target就是"男" 和 "有”
結果:
John 男 11111111 China 有 25 Clerk
Peter 男 22222222 Germany 有 30 A/C
5)可否只是copy 符合規格的某幾個欄的資料嗎?不是全部資料都copy 過去。例如 A 欄,C欄,E欄,其他的都不要。
設定只會copy A 欄,B欄,C欄
規則Target="有"
結果:
John 男 11111111
Peter 男 22222222
Tina 女 44444444 |
|