Excel VBA 不会粘贴前导零

标签 excel vba

以下代码在列中包含前导零时删除它们。我认为 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 VBA 不会粘贴前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18859598/

相关文章:

excel - 从单元格复制数据并将其添加到 Excel Visual Basic

vba - 自动移动到下一个单元格

excel - 有没有办法让 Excel VBA 将数据发送到套接字?

html - Excel VBA 抓取 - HTML 表格不可见

excel - 隐藏列的列宽属性

excel - 如果单元格范围包含 "active",则增加 excel 值

excel - 输入新行并复制上面单元格中的公式

vbscript - 从 VB 脚本中清除 VBA 中的所有断点

vba - VBScript 打开一个对话框来选择文件路径

excel - 如何将 .cls 文件中的代码导入没有标题信息的工作表代码模块?