以下代码在列中包含前导零时将其删除。我认为PasteSpecial会解决这个问题。有没有办法确保在此子填充CSV时保留任何前导零?
Sub PasteStufff()
Dim myRange As Range
Dim outFile As String
outFile = "mypath\path\file.csv"
Set myRange = Sheets("base").Range("A1:G1")
Set myRange = Range(myRange , myRange .End(xlDown))
Sheets("base").Select
myRange.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Cells(1, 1).PasteSpecial xlPasteValues
ActiveWorkbook.SaveAs Filename:= _
outFile _
, FileFormat:=xlCSV, CreateBackup:=False
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
最佳答案
我不知道它是在哪个版本中引入的,但是在Excel 2010中,您可以使用
Paste:=xlPasteFormulasAndNumberFormats
代替
Paste := xlPasteValues
并且在非常短的测试基础上,这似乎可行(假设您的原始输入首先是数字)。
关于excel - Excel VBA不会粘贴前导零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18859598/