Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
反转选定单元格中的某些文本-VBA_Vba_Excel - Fatal编程技术网

反转选定单元格中的某些文本-VBA

反转选定单元格中的某些文本-VBA,vba,excel,Vba,Excel,我是VBA的新手。我在VBA Excel上反转数据时遇到一些问题。我的数据是“3>8,6>15,26>41(不同单元格上的每个数据)”,我可以使用函数reverse将“3>8”反转为“8>3”,以满足我的要求。但我无法将“6>15”和“26>41”反转为“15>6”和“41>26”。失败将是“51>6”和“14>62”,我想是“15>6”和“41>26” 反向=反向(修剪(str)) 请帮助我解决问题,并感谢您的评论。您首先需要找到“>”在单元格中的位置。您可以通过获取单元格的内容并将其视为字符

我是VBA的新手。我在VBA Excel上反转数据时遇到一些问题。我的数据是“3>86>1526>41(不同单元格上的每个数据)”,我可以使用函数reverse将“3>8”反转为“8>3”,以满足我的要求。但我无法将“6>15”和“26>41”反转为“15>6”和“41>26”。失败将是“51>6”和“14>62”,我想是“15>6”和“41>26”

反向=反向(修剪(str))


请帮助我解决问题,并感谢您的评论。

您首先需要找到“>”在单元格中的位置。您可以通过获取单元格的内容并将其视为字符串并查找“>”来完成此操作

这是在行首箭头位置完成的。这是原始字符串中“>”位置的整数值

接下来使用Left提取“>之前的文本,使用Right提取“>之后的文本

然后构建一个新的rightstr&“>”和leftStr字符串

注:我从Sheet1 B5输入数据,但您可以使用任何源,只要它是正确格式的字符串

Sub Test()

Dim myString As String

myString = Sheets("Sheet1").Range("B5")
Debug.Print myString
Debug.Print reverseString(myString)

End Sub


Function reverseString(inputString As String) As String

Dim leftStr As String
Dim rightStr As String
Dim arrowPosition As Integer

arrowPosition = InStr(1, inputString, ">")
leftStr = Left(inputString, arrowPosition - 1)
rightStr = Right(inputString, Len(inputString) - arrowPosition)
reverseString = rightStr & ">" & leftStr

End Function

只需查找VBA,即可将此函数添加到代码中:

Function rev(t As String) As String
    s = Split(t, ">", 2)
    rev = s(1) & ">" & s(0)
End Function

当然,只有当您必须反转2个数字时,否则您将循环“s”,但该函数将失去它的用处

您可以向我们显示您正在使用的代码吗?也可以使用Excel公式来执行
=右(A1,Find(“>”,A1))&“>”&左(A1,Find(“>”,A1)-1)
反转按tin上的说明执行。Excel不理解您认为15是一个数字,它读取1和5,然后将其反转为51。使用上面的@Slai方法。