- 将文件转换为csv格式后,缺少完成0的代码

scyqe7ek  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(113)

我有两个命令来将0添加到号码(8位数字,需要9位数字),并将0添加到手机号码(以5位数字开头的9位数字需要10位数字):

1. 0 - 8位数字相加:

Sub Add_Zeros()
    Selection.NumberFormat = "@"
    For Each CL In Selection.Cells
        If CL <> "" Then CL.Value = Application.Rept("0", (9 - Len(CL))) & CL
    Next
End Sub

字符串

2. 0 - 9位数字相加:

Sub Add_Zeros()
    Selection.NumberFormat = "@"
    For Each CL In Selection.Cells
        If CL <> "" Then CL.Value = Application.Rept("0", (10 - Len(CL))) & CL
    Next
End Sub

**1.**首先,我可以升级这些代码并将它们合并组合如下吗?:

A.第一个条件:如果只有8位数字,则在开头添加0(最后应该有9位数字)
B.第二个条件:如果有9位数字,左边第一位数字是5,你在开头加上0(最后应该有10位数字)
C.其他的东西我如何返回命令回来(即之前的变化)取消?你有一种方法插入到另一个代码?

**2.**此外,我正在寻找一种方法来运行一段代码(如果它是一个JavaScript或其他东西),将我的Xltm文件(运行所有命令后)转换为.csv文件,并保存我添加的0(零)。
转换文件的最终代码将像这样构建:

A.为csv创建Xltm,并根据以下定律(这是保留零的方法)保留0(零):
1.点击数据选项卡|从文本
2.从文件选择对话框中选择Csv
3.在文本导入向导(步骤1)中,选择“分隔符”并点击下一步。
4.在文本导入向导(步骤2)中,选择“逗号”并点击下一步。
5.在文本导入向导(步骤3)中,选择所有列,然后单击“列数据格式”中的“文本”
6.单击finish
7.选择要导入数据的单元格,然后单击“确定”
B.之后保存我的文件作为Xlsx。

  • C.如果您可以在代码中添加另一个操作,并且:

再次将Xlsx的扩展名更改为csv,这是非常好的(不保存为csv,而只是更改文件的扩展名)
该文件已附加链接:
工作文件
(检查扩展名Xltm)
先谢谢你了,
愿上帝赐福

zdwk9cvp

zdwk9cvp1#

关于问题1:

我没有完全理解你的解释,但希望这能让你开始:

Sub Add_Zeros()
    Selection.NumberFormat = "@"
    For Each CL In Selection.Cells
        If CL <> "" Then CL.Value = ZeroPad(CL) ' Move the logic to a function for better readability
    Next
End Sub

Function ZeroPad(Value)
    ZeroPad = Value ' Make sure you have a return value
    If Len(Value) <= 8 Then 'Pad with zeroes up to 9 chars
        ZeroPad = Right("000000000" & Value, 9)
    End If
    If Left(Value, "5") Then ' I didn't understand your question here. Just guessing
        ZeroPad = Right("000000000" & Value, 10)
    End If
End Function

字符串

相关问题