Excel-VBA技巧-复制粘贴保留行高列宽等所有格式的方法_第1页
Excel-VBA技巧-复制粘贴保留行高列宽等所有格式的方法_第2页
Excel-VBA技巧-复制粘贴保留行高列宽等所有格式的方法_第3页
Excel-VBA技巧-复制粘贴保留行高列宽等所有格式的方法_第4页
Excel-VBA技巧-复制粘贴保留行高列宽等所有格式的方法_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模模板板设设计计复复制制粘粘贴贴全全部部格格式式包包括括行行高高列列宽宽标标题题1 1 标标题题2 2正正文文正正文文模模板板设设计计复复制制粘粘贴贴全全部部格格式式包包括括行行高高列列宽宽标标题题1 1标标题题2 2标标题题1 1标标题题2 2标标题题1 1标标题题2 2正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文模模板板设设计计复复制制粘粘贴贴全全部部格格式式包包括括行行高高列列宽宽标标题题1 1

2、标标题题2 2标标题题1 1标标题题2 2标标题题1 1标标题题2 2正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文标标题题1 1标标题题2 2正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文标标题题1 1标标题题2 2正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文正正文文模模板板设设计计复复制制粘粘贴贴全全部部格格式式包包括括行行高高列列宽宽模

3、模板板设设计计复复制制粘粘贴贴全全部部格格式式包包括括行行高高列列宽宽ExcelExcel VBAVBA技技巧巧 复复制制粘粘贴贴保保留留行行高高列列宽宽等等所所有有格格式式的的方方法法Excel VBA用Copy方法进行复制粘贴,往往会导致粘贴的数据没有了行高和列宽。那么,当我们要进行复制粘贴时,如何保证粘贴的数据保留原有的格式(包括行高列宽都不能变)。笔者以一个模板设计为例进行说明。模板表如图1 所示。图1根据模板表生成表格的效果如图2所示。图2使用Copy方法复制粘贴,代码如下所示:Sub Copy复制粘贴困惑() Dim x As Integer With Sheet2 清空数据 .U

4、sedRange.Clear 恢复标准列宽 .Columns.ColumnWidth = .StandardWidth 恢复标准行高 .Rows.RowHeight = .StandardHeight End With For x = 1 To 30 Step 15 复制大标题区 Sheet1.Rows(3:4).Copy Sheet2.Rows(x) 小标题区 横向复制1份/纵向复制4份-粘贴份数由扩展区域Resize(1, 12)决定 Sheet1.Range(B5:D5).Copy Sheet2.Cells(x + 2, B).Resize(1, 12) 正文区 横向复制5份/纵向复制4

5、份-粘贴份数由扩展区域Resize(10, 12)决定 Sheet1.Range(B6:D7).Copy Sheet2.Cells(x + 3, B).Resize(10, 12) Next xEnd Sub运行代码效果如图3所示。图3粘贴时为了保证行高和列宽一同被复制,可以先整行使用Copy方法进行复制粘贴,这样就可以保证行高一同被复制;使用PasteSpecial方法选择性粘贴,参数Paste设置为xlPasteColumnWidths即可保证列宽一同被复制,参数Paste设置为xlPasteFormats则只粘贴格式而不粘贴数据。为了能一次性复制多份,粘贴区域的选择很重要,粘贴区域的行数

6、=样本区域行数横向份数,粘贴区域的列数=样本区域列数纵向份数。比如示例中正文区样本为2行3列,现需要横向5份/纵向4份共20份粘贴正文区,则粘贴区域应为2行5份=10行、3列4份=12列,即10行12列的区域,所以示例粘贴区域为.Cells(x + 3, B).Resize(10, 12)。如果粘贴区域设置不当将会出现不可意料的效果,请自行测试。好了,按照上述方法将代码修改成如下所示,运行后即可得到如图2所示效果。Sub 复制全部格式包括行高列宽() Dim x As Integer With Sheet2 清空数据 .UsedRange.Clear 恢复标准列宽 .Columns.Colum

7、nWidth = .StandardWidth 恢复标准行高 .Rows.RowHeight = .StandardHeight End With For x = 1 To 30 Step 15 复制大标题区 Sheet1.Rows(3:4).Copy Sheet2.Rows(x) 小标题区 复制行高 Sheet1.Rows(5).Copy Sheet2.Rows(x + 2) 纵向复制4份 Sheet1.Range(B5:D5).Copy Sheet2.Cells(x + 2, B).Resize(1, 12) 正文区 横向复制行高5份 Sheet1.Rows(6:7).Copy Sheet2.Rows(x + 3 & : & x + 12).PasteSpecial xlPasteFormats 选择性粘贴格式 横向复制5份/纵向复制4份 Sheet1.Range(B6:D7).Copy With Sheet2.Cells(x + 3, B)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论