Vba 交换字符在单元格中的位置

Vba 交换字符在单元格中的位置,vba,excel,Vba,Excel,我一直在寻找一种方法,用宏来改变一个字符在单元格中的位置,但一直没有找到我想要的。我已经找到了切换单词的方法(例如名字和姓氏),但我需要切换附加到数字末尾的单个字符 正在筛选的报告将负数注册为: 二点- 我正在寻找一种简单的方法将其切换到: -二点 因为我正在处理大量的记录。是否有一个简单的宏,我可以用来做这件事,或我需要手动更改这些?提前谢谢 数据在A1中,在B1中输入: =IF(RIGHT(A1,1)="-",-MID(A1,1,LEN(A1)-1),A1) 在A1中输入数据,在B1中输入

我一直在寻找一种方法,用宏来改变一个字符在单元格中的位置,但一直没有找到我想要的。我已经找到了切换单词的方法(例如名字和姓氏),但我需要切换附加到数字末尾的单个字符

正在筛选的报告将负数注册为:

二点-

我正在寻找一种简单的方法将其切换到:

-二点


因为我正在处理大量的记录。是否有一个简单的宏,我可以用来做这件事,或我需要手动更改这些?提前谢谢

数据在A1中,在B1中输入:

=IF(RIGHT(A1,1)="-",-MID(A1,1,LEN(A1)-1),A1)

A1中输入数据,在B1中输入:

=IF(RIGHT(A1,1)="-",-MID(A1,1,LEN(A1)-1),A1)

创建一个新列并插入此公式。将A3替换为有问题的第一个单元格,然后将其向下拖动:

=IF(RIGHT(A3,1) = "-", LEFT(A3, LEN(A3)-1) * -1, A3)

创建新列并插入此公式。将A3替换为有问题的第一个单元格,然后将其向下拖动:

=IF(RIGHT(A3,1) = "-", LEFT(A3, LEN(A3)-1) * -1, A3)

选择“列”,然后选择“文本到列”、“固定宽度”、“下一步”、“高级”、“尾随减号”作为负数,“确定”和“完成”


选择列,然后选择文本到列、固定宽度、下一步、高级、尾随减号表示负数、确定、完成


也许您只需要更改单元格的格式?我已经尝试过了,但它对所讨论的单元格没有任何作用。那么,这个单元格的格式是“文本”吗?存储在单元格中的数字不是excel存储的数字吗?如果是这种情况,那么您可以使用“文本到列”将其转换为数字。也许您只需要更改单元格的格式?我已经尝试过了,但它对有问题的单元格不起任何作用。那么,此单元格的格式是否为“文本”,而其中存储的数字是否不是excel存储的数字?如果是这种情况,那么您可以使用文本到列将其翻转为数字。