標題:
MID.VLOOKUP的VBA怎麼寫
[打印本頁]
作者:
sheau-lan
時間:
2014-12-22 14:00
標題:
MID.VLOOKUP的VBA怎麼寫
詢求大大幫我解答
請吻我應該如何用VBA寫
因為用VLOOKUP資料越多跑月慢
MID我又不知道應加在哪
作者:
owen06
時間:
2014-12-22 19:36
回復
1#
sheau-lan
試試看呢
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 99
With Target
If .Row >= 3 And .Column = 2 And .Offset(-1, 0) <> "" Then
If .Value = "" Then
.Offset(0, -1) = ""
.Offset(0, 1) = ""
End If
code = Left(.Value, 3) * 1
num = .Offset(-1, -1)
If .Address = [b3].Address Then
.Offset(0, -1) = "0001"
.Offset(0, 1) = Application.VLookup(code, Sheet2.[a1:b65536], 2, False)
Else:
.Offset(0, -1) = Application.Text(num + 1, "0000")
.Offset(0, 1) = Application.VLookup(code, Sheet2.[a1:b65536], 2, False)
End If
End If
End With
99
End Sub
複製代碼
作者:
sheau-lan
時間:
2014-12-23 08:30
owen06大
範例可以用.但套用到我的表格
我還是搞不懂
我重新夾夾帶檔
請再幫我解答
因為我前面加了F就不能動了
作者:
owen06
時間:
2014-12-23 10:30
回復
3#
sheau-lan
你確定是抓前三碼嗎?那這樣一堆F20的,系統怎麼可能比的出來?
作者:
sheau-lan
時間:
2014-12-23 10:56
如果不加F都可以用阿
可是加了F就不能用了
我是不是要改哪裡
作者:
owen06
時間:
2014-12-23 11:01
回復
5#
sheau-lan
我的意思是,不論有沒有F,你如果只抓前三碼,會變成F20,那在客戶代號那邊比對的時候,就會有三個資料都是F20開頭的了,
這樣系統會抓不出正確資料,何不乾脆抓6碼,才能完整的跟客戶代號那邊的資料完全符合。
作者:
sheau-lan
時間:
2014-12-23 11:05
哪如果要改6碼我應該怎麼做呢
我有嘗試做修改但都不能動
code = Left(.Value, 3) * 1
是這一段要修改嗎?可否請大大幫我解答
謝謝
作者:
owen06
時間:
2014-12-23 11:15
本帖最後由 owen06 於 2014-12-23 11:20 編輯
回復
7#
sheau-lan
補充一下,你用LEFT、MID、RIGHT去抓出特定字串後,雖然你看到的樣貌是數字,但他的本質其實是文字,這樣你vlookup是比不出來的,所以你還要再把他*1,他的 本質才會改變為數值,而你的檔案前面有個F,他就是文字格式,因此不需要再用*1。
改這樣你試看看
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 99
With Target
code = Left(.Value, 6)
num = .Offset(-1, -1)
If .Row >= 3 And .Column = 2 And .Offset(-1, 0) <> "" Then
If .Value = "" Then
.Offset(0, -1) = ""
.Offset(0, 5) = ""
ElseIf .Address = [b3].Address Then
.Offset(0, -1) = "0001"
.Offset(0, 5) = Application.VLookup(code, Sheet2.[a1:b65536], 2, False)
Else:
.Offset(0, -1) = Application.Text(num + 1, "0000")
.Offset(0, 5) = Application.VLookup(code, Sheet2.[a1:b65536], 2, False)
End If
End If
End With
99
End Sub
複製代碼
作者:
sheau-lan
時間:
2014-12-23 11:16
好的...我在試看看
謝謝你了
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)