- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2025-1-10
|
33#
發表於 2021-4-22 07:09
| 只看該作者
回復 32# BV7BW
請在試看看,謝謝。
Sub 復整2()
Dim Arr
With Sheets("工作表3")
With .Range(.[k1], .[a65536].End(3))
Arr = .Value '資料裝入Arr
For i = 2 To UBound(Arr)
If Arr(i, 2) = "" Then GoTo 99 '空白就換下一個
If InStr(Arr(i, 2), "S") Then '編號有 S
Arr(i, 11) = Int(Mid(Arr(i, 2), 4, 3)) & "s" '編號S,取-以後3碼整數+S,數值裝入Arr(i,11)
Else
Arr(i, 11) = Int(Right(Arr(i, 2), 3)) '除了編號S以外,取最後3碼的整數,數值裝入Arr(i,11)
End If
99: Next
.Value = Arr 'Arr值貼回excel
.Sort Key1:=.Item(6), Order1:=1, _
Key2:=.Item(11), Order1:=1, Header:=1 '以F、K欄排序
End With
.Range("k1:k" & UBound(Arr)) = "" '清除K欄數值
End With
End Sub |
|