我试图找到一种方法将前导零插入到依赖于另一个单元格大小的Excel单元格中,例如
如果单元格A1 = 21且单元格b1 = 8,我希望A1等于00000021或 如果单元格A2 = 1且单元格b2 = 8,我希望A2等于00000001
任何帮助将不胜感激。
答案 0 :(得分:1)
目前尚不清楚何时/如何运行,但要点是:
activecell.NumberFormat = string(activecell.Offset(, 1).Value, "0")
要在调整B列中的数字时自动执行此操作,请右键单击工作表标签,选择“查看代码”并将其粘贴到:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rCell As Range
On Error GoTo clean_up
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Application.EnableEvents = False
For Each rCell In Intersect(Target, Range("B:B")).Cells
If IsNumeric(rCell) Then Cells(rCell.Row, "A").NumberFormat = String(rCell.Value2, "0")
Next rCell
End If
clean_up:
Application.EnableEvents = True
End Sub
编辑:我已经调整了代码,希望让列更容易适应。
答案 1 :(得分:1)
此处仅显示Excel的公式:
=REPT(0,A2-LEN(A1))&A1
该公式创建一个包含所需零值的字符串,并将该数字连接到零。当然,您需要在A1以外的单元格中使用此公式。
'&'连接。您还可以使用连接函数:
=CONCATENATE(REPT(0,A2-LEN(A1)),A1)