|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- Sub Test()
- Dim arr As Variant, lngRow As Long
- Dim strTemp As String, strHead As String, strMiddle As String, strLast As String
-
- arr = Sheet1.Range("A1:C2")
- For lngRow = LBound(arr) To UBound(arr)
- strTemp = arr(lngRow, 1)
- strTemp = UCase(strTemp)
- strTemp = Trim(strTemp)
- strHead = Mid(strTemp, 1, 6)
- strMiddle = Mid(strTemp, 7, Len(strTemp) - 8)
- strLast = Right(strTemp, 2)
-
- arr(lngRow, 2) = strHead & Return34To10String(strMiddle)
- arr(lngRow, 3) = Return34To10String(strLast)
- Next
-
- Sheet1.Range("A1:C2") = arr
- End Sub
- Function Return34To10String(strVal As String) As String
- Dim strTemp As String
- Dim intID As Integer, intLen As Integer
- Dim lngAsc As Long, lngResult As Long, strResult As String
-
- strVal = Trim(strVal)
- strVal = UCase(strVal)
- intLen = Len(strVal)
-
- For intID = 1 To intLen
- strTemp = Mid(strVal, intID, 1)
- lngAsc = Asc(strTemp)
- Select Case lngAsc
- Case 48 To 57
- lngResult = (lngAsc - 48) * (34 ^ (intLen - intID))
- Case 65 To 89
- lngResult = (lngAsc - 55) * (34 ^ (intLen - intID))
- End Select
- strResult = Val(strResult) + lngResult
- Next
- Return34To10String = strResult
- End Function
复制代码 |
|