Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VBA基础:复制格式、选取单元格及复制工作表的示例代码

VBA基础:复制格式、选取单元格及复制工作表的示例代码

作者头像
fanjy
发布于 2024-05-25 08:56:50
发布于 2024-05-25 08:56:50
50000
代码可运行
举报
文章被收录于专栏:完美Excel完美Excel
运行总次数:0
代码可运行

标签:VBA

将某工作表中的格式转换到另一个工作表

示例代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub TransferFormat()
 '源格式工作表
 Dim sht1 As Worksheet
 '要应用格式的工作表
 Dim sht2 As Worksheet
 Set sht1 = ThisWorkbook.Worksheets("Sheet1")
 sht1.Cells.Copy
 '创建新工作表
 Set sht2 = ThisWorkbook.Worksheets.Add
 '首先粘贴值
 sht2.Cells.PasteSpecial xlPasteValues
 '然后粘贴格式
 sht2.Cells.PasteSpecial xlPasteFormats
 '给新工作表命名
 sht2.Name = "New"
End Sub

选择单元格

有多种方法可供挑选,看你的喜好或所用的环境。

例如,选择当前工作表单元格D5:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ActiveSheet.Cells(5, 4).Select

或者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ActiveSheet.Range("D5).Select

选择另一个工作表中的单元格E6:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Application.Goto ActiveWorkbook.Sheets("Sheet2").Cells(6, 5)

或者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Application.Goto (ActiveWorkbook.Sheets("Sheet2").Range("E6"))

或者,先激活该工作表再选择:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sheets("Sheet2").Activate
ActiveSheet.Cells(6, 5).Select

选择当前工作表中的单元格区域C2:D10:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select

或者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ActiveSheet.Range("C2:D10").Select

或者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ActiveSheet.Range("C2", "D10").Select

或者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ActiveSheet.Range(ActiveSheet.Cells(2, 3), ActiveSheet.Cells(10, 4)).Select

或者更简化的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Range(Cells(2, 3), Cells(10, 4)).Select

选择另一个工作表中的单元格区域D3:E11:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3:E11")
Application.Goto ActiveWorkbook.Sheets("Sheet3").Range("D3", "E11")

或者,先激活该工作表再选择:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sheets("Sheet3").Activate
ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select

选择不同工作簿中的单元格区域:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Application.Goto Workbooks("Book2.xlsm").Sheets("Sheet1").Range("E4:F12")
Application.Goto Workbooks("Book2.xlsm").Sheets("Sheet1").Range("E4", "F12")

或者,先激活再选择:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Workbooks("Book2.xlsm").Sheets("Sheet1").Activate
ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select

保存某工作表作为副本

示例代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub SaveasCopy()
 Application.ScreenUpdating = False
 ActiveSheet.Copy
 With ActiveWorkbook
   .SaveAs Filename:=ThisWorkbook.Path & "" & Format(Now, "mm-dd-yy") & ".xlsx", FileFormat:=51
   .Close SaveChanges:=False
 End With
 Application.ScreenUpdating = True
End Sub

注:代码整理自vbaexpress.com,供有兴趣的朋友参考。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
EXCEL VBA语句集300
        定制模块行为 (1) Option Explicit ‘强制对模块内所有变量进行声明 Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示  Option Compare Text ‘字符串不区分大小写  Option Base 1 ‘指定数组的第一个下标为1 (2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 ‘恢复正常的错误提示 (5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示 (6) Application.ScreenUpdating=False ‘关闭屏幕刷新 Application.ScreenUpdating=True ‘打开屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能  工作簿 (8) Workbooks.Add() ‘创建一个新的工作簿 (9) Workbooks(“book1.xls”).Activate ‘激活名为book1的工作簿 (10) ThisWorkbook.Save ‘保存工作簿 (11) ThisWorkbook.close ‘关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数 (13) ActiveWorkbook.name ‘返回活动工作薄的名称 (14) ThisWorkbook.Name ‘返回当前工作簿名称 ThisWorkbook.FullName ‘返回当前工作簿路径和名称 (15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列 (17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化  工作表 (18) ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数 (19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性) (20) Sheets(Sheet1).Name= “Sum” ‘将Sheet1命名为Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) ‘将当前工作表移至工作表的最后 (23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作表1和工作表2 (24) Sheets(“sheet1”).Delete或 Sheets(1).Delete ‘删除工作表1 (25) ActiveWorkbook.Sheets(i).Name ‘获取工作表i的名称 (26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines ‘切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮 (27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示 (28) ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式 (29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接 (30) ActiveSheet.PageSetup.Orientation=xlLandscape 或ActiveSheet.PageSetup.Orientation=2 ‘将页面设置更改为横向 (31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径 ActiveSheet.PageSetup.Le
Tony老师
2020/03/05
2.2K0
Excel VBA编程
在Excel中,数据只有文本,数值,日期值,逻辑值和错误值五种类型。但是在VBA中,数据类型跟Excel不完全相同。根据数据的特点,VBA将数据分为布尔型(boolean),字节型(byte),整数型(integer),单精度浮点型(single),双精度浮点型(double),货币型(currency),小数型(decimal),字符串型(string),日期型(date),对象型等等
全栈程序员站长
2022/08/11
46.5K0
Excel VBA编程
Excel中的VBA编程「建议收藏」
目的:有时我们需要对Excel文件中大量的数据进行整理,此时如果使用手动整理会非常繁琐而且容易出错。而如果采用VBA语言,在Excel中根据需求编写一段简单的代码就能自动完成大量数据的整理工作。
全栈程序员站长
2022/08/23
6.4K0
Excel中的VBA编程「建议收藏」
Excel宏教程 (宏的介绍与基本使用)
大家好,又见面了,我是你们的朋友全栈君。 Excel宏教程 (宏的介绍与基本使用) Microsoft excel是一款功能非常强大的电子表格软件。它可以轻松地完成数据的各类数学运算,并用各种二维或三维图形形象地表示出来,从而大大简化了数据的处理工作。但若仅利用excel的常用功能来处理较复杂的数据,可能仍需进行大量的人工操作。但excel的强大远远超过人们的想象–宏的引入使其具有了无限的扩展性,因而可以很好地解决复杂数据的处理问题。 随着支持Windows的应用程序的不断增多和功能的不断增强,越来
全栈程序员站长
2022/08/23
6.8K0
VBA实战技巧20:选取不同工作表中不同单元格区域时禁止用户执行复制剪切粘贴操作
在《VBA实战技巧19:根据用户在工作表中的选择来隐藏/显示功能区中的剪贴板组》中,我们讲解了根据用户在工作表中的选择来决定隐藏或者显示功能区选项卡中的特定组的技术。在这里就要派上用场了。
fanjy
2021/03/12
2.4K0
ExcelVBA请按班别拆分为工作簿(筛选复制法)
请按班别拆分为工作簿 Sub 筛选拆分() Dim d As Object, sht As Worksheet, arr,brr, r, kr, i&, j&, k&, x& Dim Rng As Range, Rg As Range, tRow&,tCol&, aCol&, pd&, Cll As Range Dim wb As Object, mysht As Worksheet Set d =CreateObject("scripting.dictionary") '
哆哆Excel
2022/10/31
4640
一小时搞定 简单VBA编程 Excel宏编程快速扫盲
Excel宏编程可以快速完成批量表格操作:复制粘贴、数据过滤等,宏代码基于VB语言实现,有基础的编程经验就能快速阅读。下面是我的学习笔记。
全栈程序员站长
2022/08/10
1.8K0
文科生也能学会的Excel VBA 宏编程入门
VBA编程是Office系列软件自带的编程功能,也就是说不只是Excel,Word和PPT也能进行VBA编程。而“宏”可以理解为一组自动化程序,执行一个宏就能执行其对应的一系列操作。创建宏主要有两种方法,一种是录制宏,也就是将人的一些操作录下来,需要的时候执行宏就可以自动重复这些操作;另一种就是本文要介绍的,通过VBA编程来自己写一个宏。
全栈程序员站长
2022/06/28
6K0
文科生也能学会的Excel VBA 宏编程入门
啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Cell属性和Offset属性
引言:本文学习整理自powerspreadsheets.com,讲解得很细致,一些知识点反复强调,对于熟悉VBA的朋友来说,感觉有点啰嗦,但是对于VBA初学者来说,对快速掌握Range对象的引用,却很有好处。
fanjy
2022/01/07
4.5K0
啰哩啰嗦地讲透VBA中引用单元格区域的18个有用方法--Cell属性和Offset属性
几个有用的Excel VBA脚本
最近有个朋友要处理很多的Excel数据,但是手工处理又太慢,让我帮忙处理。通过搜索和自己的编写,帮他写了几个脚本,大大提高了工作效率。其实Excel中的脚本(宏)的功能非常方便,只要熟悉了Excel的对象,做一些常见的处理,还是非常容易的。
大江小浪
2018/07/25
1.5K0
VBA汇总文件夹中的多文件的工作表中不同单元格区域到总表
【问题】我们发了这样一个表格到各单位收集资料,各单位填写完后上交上来有许多个文件,我们现在想汇总成一年一个表,怎么办?
哆哆Excel
2022/10/25
2.4K0
VBA汇总文件夹中的多文件的工作表中不同单元格区域到总表
Excel VBA 编程练习
最近做了一个VBA的小case,用于方便excel数据的处理,主要的功能代码记录如下。
全栈程序员站长
2022/09/05
8810
合并/拆分 Excel?Python、VBA轻松自动化
当你收集了 n 个人的 EXCEL 记录表,需要将它们汇成一个总表时你会怎么做呢? 如果不通过技术手段,要一个个打开再复制粘贴也太麻烦了吧! 此时就需要一个通过几秒钟的点击就能完成合并的工具。
朱小五
2020/10/09
2.4K0
合并/拆分 Excel?Python、VBA轻松自动化
文科生也能学会的Excel VBA 宏编程入门(三)——合并文件
在日常工作中,我们经常会遇到需要汇总多个表格的数据,将它们合并到一个表格里的情况。虽然复制粘贴大法好,但如果让你汇总几十人填报的个人信息并做成汇总表格,估计你也膜不动了。因此,这一次我们就通过VBA程序完成这个任务,从此妈妈再也不担心我数数到头秃。
全栈程序员站长
2022/09/02
4K0
VBA: 将单元格区域作为邮件正文发送到指定邮箱
文章背景: 在工作中,有时需要将单元格区域的内容作为邮件正文发送到指定邮箱,如果希望邮件正文中的单元格区域带表格样式,则需要将其转换为html格式。
Exploring
2024/04/15
6870
VBA: 将单元格区域作为邮件正文发送到指定邮箱
VBA程序:查找并列出指定工作表中所有合并单元格的地址
运行下面的VBA过程,将列出当前工作表中所有合并单元格的地址。程序会新建一个工作表并重命名,然后在其中输入所有合并单元格的地址。
fanjy
2024/03/11
3100
VBA程序:查找并列出指定工作表中所有合并单元格的地址
VBA代码:将多个文本文件合并到当前工作表
下面分享在vbaexpress.com中收集的几段代码,用于合并文本文件并将其放置在当前工作表中。
fanjy
2024/06/04
2570
VBA代码:将多个文本文件合并到当前工作表
ExcelVBA筛选法按分类条件拆分一个工作表为多个工作簿
对上次的文章进行优化 ==========代码如下===== Sub 筛选拆分() Dim d As Object, sht As Worksheet, arr, brr, r, kr, i&, j&, k&, x& Dim Rng As Range, Rg As Range, tRow&, tCol& Dim wb As Object, mysht As Worksheet Set d = CreateObject("scripting.dictionary") 'se
哆哆Excel
2022/10/31
3.7K1
Excel应用实践11:合并多个工作簿中的数据——示例2
在上一篇文章《Excel应用实践10:合并多个工作簿中的数据》中,我们使用代码快速合并超过50个Excel工作簿文件,然而,如果要合并的工作簿中工作表的名称不相同,但位于每个工作簿的第1个工作表;并且,要在合并后的工作表的第1列中输入相对应的工作簿文件名,以便知道合并后的数据来自哪个工作簿文件。
fanjy
2019/07/19
2.9K0
VBA字典(详解,示例)「建议收藏」
如果对上面水果种类进行计数:countifs,只需要将分类汇总的值改为数值1即可,每出现一次‘+1’
全栈程序员站长
2022/07/22
6.4K1
VBA字典(详解,示例)「建议收藏」
推荐阅读
相关推荐
EXCEL VBA语句集300
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验