標題:
請問混合編碼我應該怎麼做
[打印本頁]
作者:
sheau-lan
時間:
2015-9-18 10:03
標題:
請問混合編碼我應該怎麼做
麻煩各位功力強大的大大幫忙:'(
作者:
stillfish00
時間:
2015-9-18 15:21
回復
1#
sheau-lan
品號只會新增還是會去修改之前的??
例如: 如果修改[A6]儲存格為M4-xxx規格的品號 , 下方的存放編號要全部更新嗎??
如果不用管,可參考下面;如果要,不如建個按鈕更新全部存放編號比較適用。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ar, spec, prefix, count As Long
With Target
If .Row >= 3 And .Column = 1 Then
'其它欄處理略過, 假設D欄已取得規格
'.........
spec = Cells(.Row, "D").Value
prefix = Split(spec, "-")(0)
ar = Range(Cells(1, "H"), Cells(.Row - 1, "H"))
For Each x In ar
If prefix = Split(x, "-")(0) Then
count = count + 1
End If
Next
Application.EnableEvents = False
Cells(.Row, "H").Value = prefix & "-" & Replace(Cells(1, count / 4 + 1).Address(False, False), "1", "")
Application.EnableEvents = True
End If
End With
End Sub
複製代碼
作者:
准提部林
時間:
2015-9-18 16:03
若資料不多可參考公式:
=IF(D3="","",LEFT(D3,FIND("-",D3))&CHAR(64+INT(COUNTIF(D$2:D2,LEFT(D3,FIND("-",D3))&"*")/4)+1))
作者:
sheau-lan
時間:
2015-9-18 17:15
stillfish00 大大
可以用了,MM規格基本上沒問題
但英制規格3/8,1/4,#8
這些規格都不行捏
作者:
GBKEE
時間:
2015-9-19 08:03
回復
4#
sheau-lan
D欄 規格有變動, H欄 規格-A 輸入 外盒標籤
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim W As Variant, Ar As Variant, i As Integer
With Target.Cells(1)
W = Split(.Cells, "-")
If .Column = 4 And UBound(W) >= -1 Then
Application.EnableEvents = False
Ar = Application.Transpose(Range("H3", Range("H" & Rows.Count).End(xlUp)))
Ar = Filter(Ar, W(0) & "-")
i = 65
Do While UBound(Filter(Ar, W(0) & "-" & Chr(i))) >= 3
i = i + 1
Loop
.Cells.Offset(, 4) = W(0) & "-" & Chr(i)
Application.EnableEvents = True
End If
End With
End Sub
複製代碼
作者:
sheau-lan
時間:
2015-9-21 08:25
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 99
Dim TG As Range
With Target
If .Row >= 3 And .Column = 1 Then
If .Value = "" Then
98: .Offset(0, 2) = ""
.Offset(0, 3) = ""
.Offset(0, 4) = ""
.Offset(0, 5) = ""
.Offset(0, 6) = ""
.Offset(0, 7) = ""
.Offset(0, 8) = ""
.Offset(0, 9) = ""
Else: Set TG = Sheet7.[H3:H9999].Find("*" & .Value & "*", , , xlWhole)
If TG Is Nothing Then GoTo 98
.Offset(0, 9) = TG.Offset(0, -6).Value
TG2 = .Offset(0, 2).Value
.Offset(0, 2) = TG.Offset(0, -3).Value
.Offset(0, 3) = TG.Offset(0, -2).Value
.Offset(0, 5) = Application.VLookup(TG2, Sheet15.[A4:H9999], 8, False)
If IsError(.Offset(0, 5).Value) Then .Offset(0, 5) = ""
.Offset(0, 6) = TG.Offset(0, 1).Value
大大...可我前面還有這一段
可以加一起嗎?
這一段是抓其他相關資料的
不用再KEY一次
作者:
sheau-lan
時間:
2015-9-21 10:17
GBKEE 大大...麻煩請看一下我的留言,我試了好久
都沒辦法加一起
作者:
准提部林
時間:
2015-9-21 15:26
回復
7#
sheau-lan
請提供較完整的參考資料及檔案, 並詳細說明操作流程及需求,
而不是只有程式碼, 也許可以從程式碼解讀, 但很花時間也容易誤判!
另.公式可以做到的話, 為何一定要用VBA???
作者:
sheau-lan
時間:
2015-9-21 16:59
准提部林 大大...你要求的附檔案說明
作者:
准提部林
時間:
2015-9-21 18:26
回復
9#
sheau-lan
1.〔品號〕固定四碼(英數混合〕?都由上而下逐一輸入?
2.有無可能輸入後又更改,造成〔存放編號〕須由上而下再重新編號?
先用公式處理,〔存放編號〕會自動以最新的狀態編碼,看是否如所需,若非得用vba,再說:
[attach]22044[/attach]
作者:
sheau-lan
時間:
2015-9-22 08:00
有可能會手動改到存放區,如果樣品大一點九畢須以人工判斷,放至其他特殊存放區,但不常,
這樣子,下面就不能繼續以編碼原則編號,好像就會跳一號
以M12來講有三筆M12-A會有三次
如第4筆放置特別存放區
第5筆就會跳M12-B
正常應該跳M12-A
作者:
准提部林
時間:
2015-9-22 10:00
回復
11#
sheau-lan
所以,才會強調〔操作流程〕∼∼是否如下:
1.當輸入第1筆 M12 時,產生 M12-A ,印好標籤就貼在樣品上面,以後不可能再更改
2.當輸入第2∼3筆時,也是 M12-A,同步驟1
3.當輸入第4筆時,因外型特殊,手動編碼(不知是何種型式,可提供例子嗎?),同樣貼好歸位永不變動
4.當輸入第5筆,因還有一個位置,所以是 M12-A
5.往後陸續增加的相同規格,,則按此規則,依B∼??編碼下去
6.所有上方已輸入者,不可能再變動?例如:已有10筆編好的資料,忽然去更改第7筆?
作者:
sheau-lan
時間:
2015-9-22 11:27
本帖最後由 sheau-lan 於 2015-9-22 11:28 編輯
准提部林 大大
編好10筆..當然不會去改第7筆
除非這支樣品交樣過程坎坷,才會獨立出一個專案
上述1-5項是對的M12-A編完跳M12-B以此類推
長度過長跟尺寸過大都會另外放一個較大的存放箱
超過M16長度超過150長包含150長
例如M18x190
M16x210
這些都會歸到特殊盒子
作者:
准提部林
時間:
2015-9-22 15:29
回復
13#
sheau-lan
提供〔公式〕與〔VBA〕兩種:
[attach]22048[/attach]
作者:
sheau-lan
時間:
2015-9-22 16:33
准提部林 大大是對的
完全正錯...太感謝你了
可是如果我G欄也要抓圖面資料
應該怎麼加
作者:
准提部林
時間:
2015-9-22 16:58
回復
15#
sheau-lan
G欄是 TARGET 的 .CELLS(1,7)
xF是找到的儲存格,看要取這格相同列的哪一欄:xF.Cells(1, 左或右位移量)
.Cells(1, 7) = xF(1, ??)
作者:
sheau-lan
時間:
2015-9-23 07:45
恩恩...好的...謝謝大大
我會好好延就研究
作者:
sheau-lan
時間:
2015-9-30 11:45
准提部林 大大
我發現#的規格
如#6,#10,#8
這種沒辦法跳
輸入到第5筆還是
#6-A
作者:
准提部林
時間:
2015-9-30 12:42
回復
18#
sheau-lan
比對改如下:
For Each R In Arr
If Left(R, N) = TT And Right(R, 1) Like "[A-Z]" Then U = U + 1
Next
忽略了 "#" 在 Like 會視為〔0-9〕,所以無法正確比對!
作者:
sheau-lan
時間:
2015-10-1 09:42
可以了...謝謝准提部林 大大
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)