EXCEL VBA宏的一个问题

要求做一个VBA程序,把图1的一列数据变成图2样子,即1)大写字母全部变小写。2)去掉中间的“-”。3)然后去掉最后一位数字。
这列数据是无限多的,然后要求全部转换掉。

请各位大大帮忙协助,多谢啦!
我是想把一列无限多个一下全部都转换格式,并覆盖原来的那一列,请大家多多帮助啦~

不需要宏吧

=LOWER(SUBSTITUTE(A1,"-",""))

下拉复制公式——复制B列数据——右键A1——选择性粘贴——数值。替换掉原数据,删除B列即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-12

      不用VBA也可以完成。

    首先把大写字母转换成小写字母:你在B1单元格输入下面函数:=LOWER(A1),然后下拉

    在B列得出的结果后,然后将最后一个数字去掉用下面的函数,在C1单元格输入下面的函数:

    =LEFT(B1,LEN(B1)-1)   这样最后一个数字就去掉了

    最后将“”-“”去掉。点击数据,选择分列,然后选择分隔符号,下一步,选择其他。在后面输入分隔符,就是你要去掉的符号,然后点击下一步,完成。这样就将数据分成3个部分了

    最后将数据合并起来就可以了,就是简单是用&字符连接起来就OK了

本回答被网友采纳
第2个回答  2013-09-12

我放个vba吧

Sub ttt()
mrow = Range("a65536").End(xlUp).Row
arr = Range("a1:a" & mrow)
For i = 1 To mrow
    arr(i, 1) = Replace(LCase(arr(i, 1)), "-", "")
    arr(i, 1) = Mid(arr(i, 1), 1, Len(arr(i, 1)) - 1)
Next
Range("a1:a" & mrow) = arr
End Sub

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网