可以对单元格内的值进行分组的反向函数

Reverser function that can group the value whit in a cell

我一直在搜索和研究我能找到的所有不同帖子,但不能说这个请求或问题之前已经讨论过。

这是基本的反向函数,我想要完成的是(我这样称呼它)一组反向函数。将附上图片以图形方式更好地解释这一点。

目标是使用 =StrReverse($A1)

Function Reversestr(str As String) As String
    Reversestr = StrReverse(Trim(str))
End Function

请使用下一个功能:

Function reversePairOfDigits(strText As String) As String
    Dim i As Long, strRes As String
    For i = 1 To Len(strText) Step 2
        strRes = Mid(strText, i, 2) & strRes
    Next
    reversePairOfDigits = strRes
End Function

可以用下一个简单的方法。 Select 包含要处理的字符串的单元格 和 运行 它:

Sub testReversePairOfDigits()
    Debug.Print reversePairOfDigits(ActiveCell.value)
End Sub

您可以在 Immediate Window 中看到结果(Ctrl + G,在 VBE 中)

如果要处理的字符串在特定范围内,则需要在其单元格之间迭代并调用提供的函数。为了使代码更快,范围应该放在一个数组中,然后对其进行处理,最后删除处理后的结果。如果你明确定义要处理的范围,我可以告诉你如何高效地做。

反转字符串 (UDF)

Option Explicit

Function ReverseString( _
    ByVal Word As String, _
    Optional ByVal CharCount As Long = 1) _
As String
    
    Dim wLen As Long: wLen = Len(Word)
    Dim First As Long: First = wLen Mod CharCount
    If First > 0 Then ReverseString = Left(Word, First)
    
    Dim n As Long
    
    For n = First + 1 To wLen Step CharCount
        ReverseString = Mid(Word, n, CharCount) & ReverseString
    Next n
    
End Function