如何防止vba在复制和粘贴时转换值类型?

来点儿 _

块引用

您好,我正在尝试将文本格式列的值从工作表 1 复制并粘贴到工作表 2。但是值类型自动更改为数字。

将 wb 变暗为工作簿 将 src 变暗为工作表 将 tgt 变暗为工作表 将 lastRow 变暗为变体

Set wb = ThisWorkbook
Set src = wb.Sheets("sheet1")
Set tgt = wb.Sheets("sheet2")

lastRow = src.Range("A" & src.Rows.Count).End(xlDown).Row



tgt.Range("E43:E" & lastRow).Value = src.Range("A5:A" & lastRow).Value

我用这段代码得到的是

 1
 2
 11
 12

数据在 sheet1 中的格式如下:

 00000001
 00000002
 00000011
 00000012

我想在第 2 表中做同样的事情

用户11547420

如前所述,您需要重现强制使用源中的前导零的自定义数字格式。

您还需要将目标重塑为与源相同的大小。对两者使用lastRow仅在它们以同一行开头时才有效(您的示例没有)。

Set wb = ThisWorkbook
Set src = wb.Sheets("sheet1")
Set tgt = wb.Sheets("sheet2")

with src

  lastRow = .Range("A" & .Rows.Count).End(XLUP).Row  '<~~ xlUp, not xlDown

  with .Range("A5:A" & lastRow)

    tgt.Range("E43").resize(.rows.count, .columns.count) = .Value2
    tgt.Range("E43").resize(.rows.count, .columns.count).numberformat = "00000000"

  end with

end with

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VBA 复制和粘贴枢轴值和格式

来自分类Dev

如何复制粘贴所有格式和值而不在VBA中使用选择

来自分类Dev

Excel VBA从工作簿复制和插入/粘贴特殊值

来自分类Dev

使用VBA在Excel 2016中复制和粘贴值

来自分类Dev

对多行重复VBA子以进行复制和“粘贴值”

来自分类Dev

在工作簿之间复制和粘贴时出现 VBA 错误

来自分类Dev

如何在VBA循环中复制粘贴值?

来自分类Dev

如何复制和粘贴作为矩阵处理的 ob VBA?

来自分类Dev

使用“偏移”时如何加快“复制粘贴”值

来自分类Dev

在IntelliJ中复制和粘贴时如何禁用转义?

来自分类Dev

如何复制和粘贴文件?

来自分类Dev

如何复制和粘贴文件?

来自分类Dev

如何分别复制和粘贴?

来自分类Dev

复制粘贴为值 Excel VBA

来自分类Dev

Excel VBA 仅复制粘贴值

来自分类Dev

从多个Word文档复制和粘贴VBA

来自分类Dev

执行Vlookup之后的VBA复制和粘贴

来自分类Dev

VBA - 烦人的复制和粘贴问题

来自分类Dev

VBA - 简化的复制和粘贴宏

来自分类Dev

循环和复制/粘贴行 VBA

来自分类Dev

在 VBA excel 上复制和粘贴

来自分类Dev

在Excel VBA中复制和粘贴单元格值:编译和运行时错误

来自分类Dev

VBA 将值和 ColumnWidths 复制和粘贴在一起

来自分类Dev

VBA宏复制和粘贴,粘贴到离散位置

来自分类Dev

VBA 粘贴为值 - 如何

来自分类Dev

复制和粘贴时保持前导零

来自分类Dev

VBA通过匹配多列中的值来查找复制和粘贴

来自分类Dev

基于单元格值代码的 Excel vba 复制和粘贴不起作用

来自分类Dev

VBA:复制和转置粘贴但在每个值后跳过一列