似乎不能让这个发挥作用。我有将数据从工作簿复制到另一个工作簿的代码。我想要做的是--在复制数据之后,范围被格式化为文本(允许前面的0‘s),格式化为7个字符长--在前面添加额外的零来弥补字符计数(希望这是有意义的)。
例句:如果数字是1234,它将格式化为0001234。
有人能帮我吗?这就是我迄今尝试过的..。
ThisWorkbook.Activate
Range("B9").Select
Selection.PasteSpecial Paste:=xlPasteAll
Range("B9", Range("B8").End(xlDown)).Select
If Not Selection.HasFormula Then
Selection = Selection.Value
Selection.NumberFormat = "Custom"
Selection.NumberFormat = "0000000000"
End If发布于 2017-10-06 07:39:29
假设您的数据是当前文本,您所需要做的就是更改单元格格式,然后有效地重新输入数据,您可以这样做:
Selection.NumberFormat = "0000000"
Selection.Value = Selection.Value发布于 2017-10-05 06:41:18
好的,根据您的评论,您可以尝试如下:
Dim helper As Range
With Sheet1
Set helper = .Range("B8", .Range("B8").End(xlDown)).Offset(, 1)
'if you choose to offset by 2 columns, using column D instead as helper
'change [-1] in below formula to [-2]
helper.FormulaR1C1 = "=TEXT(RC[-1],""0000000"")"
helper.Copy: .Range("B8").PasteSpecial xlPasteValues
helper.ClearContents
End With注意,这将使用下一列C作为助手列。
将其调整到您选择的任何空列。
https://stackoverflow.com/questions/46577960
复制相似问题