似乎无法让这个工作。我有代码将数据从工作簿复制到另一个工作簿。我想要它做的是 - 在它复制数据后,范围被格式化为文本(允许前面的零)并格式化为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
答案 0 :(得分:1)
假设您的数据当前是文本,您需要做的就是更改单元格格式,然后有效地重新输入数据,您可以这样做:
Selection.NumberFormat = "0000000"
Selection.Value = Selection.Value
答案 1 :(得分:0)
根据您的评论,您可以试试这个:
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作为帮助列。
将其调整为您选择的任何空列。