我有 Excel 数据文件。在单元格中我有这样的数据
480000074B26E42D
我怎样才能在其他单元格中获得结果这样
2DE4264B07000048
所以,我想把最后两位数字放在前面。然后在 the 之前的接下来的 2 位数字2D
放在2D
(前面的那个)之后
我尝试使用此代码,但我得到错误的结果
=RIGHT(B2,LEN(B2) -2)
我相信其他贡献者误解了您的要求,只是提供建议来扭转所提供的价值。
输入480000074B26E42D
,我认为您要求的结果不正确:2DE4264B07000084
。最后两个字符已转置,实际输出为:
2DE4264B07000048
.
如果正确,您可以使用此 Visual Basic for Applications 函数(存储在公共代码模块中)
Public Function strReverse_Character_Pairs(ByVal strValue As String) As String
Dim lngLoop As Long
Dim strReturn As String
strReturn = ""
For lngLoop = Len(strValue) - 1& To 1& Step -2&
strReturn = strReturn & Mid$(strValue, lngLoop, 2)
Next lngLoop
strReverse_Character_Pairs = strReturn
End Function
根据 cell 中的原始文本,用法A1
如下(将此公式放置在 cell 以外的任何单元格中A1
):
=strReverse_Character_Pairs(A1)
还可以通过在任一端添加“虚拟”字符来增强该功能以检查该值是否具有偶数个字符,以便反向对符合预期。
我认为一点 vba 可能是答案,我刚刚测试过它,它工作正常
在 VBA 中使用以下函数:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cells(3, 1) = StrReverse(Cells(1, 1))
End Sub
其中 CellA1
包含要翻转的字符串。单元格A3
包含结果