excel中使用vba复制单元格保留原单元格列宽

 时间:2026-02-14 01:37:57

1、首先我们打开一个工作样表作为例子。

excel中使用vba复制单元格保留原单元格列宽

2、这里我们看到a6单元格的列宽为3,o6单元格列宽为8.38。

excel中使用vba复制单元格保留原单元格列宽

3、当我们把a6单元格的数据复制到o6单元格中,数据会复制,但是列宽并不会发生改变。使用vba可以解决这个问题。

excel中使用vba复制单元格保留原单元格列宽

4、我们使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:

Sub cy()

Sheets(1).Range("a6").Copy

Sheets(1).Range("o6").PasteSpecial xlPasteColumnWidths

End Sub

excel中使用vba复制单元格保留原单元格列宽

5、这里有个xlpastecolumnwidths参数,是pastespecial方法的参数之一,作用是粘贴原单元格的列宽。

excel中使用vba复制单元格保留原单元格列宽

6、与excel工作表中的复制无法复制列宽一样,pastespecial中也有一个复制全部数据的参数xlpasteall参数,但是唯独不能复制列宽的参数。

excel中使用vba复制单元格保留原单元格列宽

  • EXCEL VBA 给单元格添加超链接
  • excel中使用vba清除复制或者剪贴模式
  • 怎么用vba宏代码设置excel打印时水平垂直居中
  • vba中如何编程打印并保存
  • Excel中如何利用VBA查找工作表
  • 热门搜索
    能率热水器怎么样 火的笔顺怎么写 睢怎么读 荨麻疹怎么治疗 粳米怎么读 贝因美奶粉怎么样 馄饨怎么包 辣子鸡的正宗做法 支付宝借呗怎么开通 末地传送门怎么做