如何在excel中的特定列的每个单元格中添加撇号而不会丢失前导零

时间:2015-08-26 08:11:02

标签: excel excel-vba formulas vba

我在excel中有专栏,其中包含员工的出生日期(格式为DDMMYYYY),由于某种原因,我被要求在每个记录之前添加撇号(以不可见的方式)。有很多记录。 当我尝试自动执行它时,它总是删除前导零。 例如,从01011900,我得到1011900。

我试过找&替换,连接,

这些答案中没有任何内容有助于: Adding Appostrophe in every field in particular column for excel

每个单元格都必须格式化为文本,而不是日期。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

尝试:

="'"&TEXT(A1,"00000000")

这将强制格式为“00000000”,这将允许前导零。事实上,如果你使用=TEXT(),那么你不需要撇号来强制文本值。

VBA版本:

Sub MacroMan()

Dim rng As Excel.Range

Set rng = Application.InputBox("Select range to amend:", , , , , , , 8)

If Not rng Is Nothing Then
    For Each cell In rng.Cells
        cell.Value = "'" & Format(cell.Value, "00000000")
    Next
End If

End Sub

答案 1 :(得分:0)

一种方法就是改变一年中的最后一位数字(假设数据全年都是同一年,例如2018年取代201,使用查找和替换菜单。或者如果案例是多年,我们可以用3位数替换年份的前2位数,最后一位是特定数字,比如0.因此,年/ 1988将在更换后变为/ 19088。 第二阶段是通过向顶部单元格添加反斜率,并简单地将其格式粘贴到其他单元格。 最后阶段是将错误的年份替换为其原始数据。 希望可以帮助。

答案 2 :(得分:-1)

右键单击列并格式化单元格。选择自定义并键入ddmmyyyy或mmyydddd。这应该可以解决问题。