如果为了保存方便,我们需要把宏代码删掉,不然保存需要保存为支持宏的格式。
运行成功后删除宏
找到工具 选择宏。
删除刚刚的宏即可,然后关闭代码,保存即可
前言step 1 进入excel vba编程界面step 2 粘贴代码step 3 运行代码step 4 删除宏代码前言这两天接触到excel比较多,才发现使用excel不仅仅是简单的复制粘贴。excel vb代码是非常强大,学会使用一些常用的功能,可以大大减少工作量。废话不多少,来看如下表格学生成绩表如果我们要把这个表按照班级拆分为三个表,可能一般我们都是通过筛选后复制粘贴。但这...
特点: 1.速度快:导入100图片只需要2秒钟
2.位置准:每张图片都导入到名称后面的单元格中,且刚好和单元格一样大,不会让多张图片重叠
3.大小灵活:导入的图片可以随心所欲定义其大小,且所有图片都占用相同的大小空间。但却保持图片导入前的比例,不会变形。
4.名称灵活:可以使用近似匹配。例如有两张名为“诺基亚8310”、“诺基亚7600”的图片,只需要在单元格输入“诺基亚”就行了,导入图片时可以将“诺基亚”开头的图片全部导入。
5.数量灵活:对于多个图片符合同一单元格名称的状况,可以将所有图片全部导入到其右边的单元格。
6.附件功能:图片导入到工作表后,将Excel默认的图片名“图片1”、“图片2”还原为图片本来的名称。
工具: 【隔行插入行】
功能: 对工作表隔行插入行,或者隔列插入列
特点: 1.可以每隔M行插入N行,其中N和M可以自己指定
2.可以每隔M列插入N列,其中N和M可以自己指定
3.起始行或结束行或者起始列、结束列也可以自己指定
工具: 【区域定位工具】
功能: 可以基于用户指定的条件选择相应的单元格,弥补Excel的不足
特点: 1.对于数值,可以使用所有比较运算符查找数据,Excel本身的定位不能定位于大于、小于某值的区域。
2.对于文本,可以定位于指定的字符,也可以定位于指定字符以外的所有字符。且支持通配符。
3.定位于可以指定区域,包括“选择区域”、“已用区域”和“可见区域”。这比Excel本身的查找更全面。
4.支持双条件查找,例如定位于从60到100的所有数据区域。或者不包括60到100的所有区域。
工具: 【根据工资计算钞票面额张数】
功能: 根据工资计算需要发工资时需要多少张100元、50元、20元、10元等等面额的钞票数量
特点: 1.可以选择一个区域进行操作,批量计算。
2.钞票的面额可以自己定义。
3.不仅计算每个人员需要的钞票张数,还对所有面额钞票汇总。
工具: 【建立工作表目录】
功能: 将当前工用簿中所有工作表建立目录,且产生链接
特点: 1.一键生成工作表目录。
2.单击目录中任意表名可以跳转至该工作表。
工具: 【建立文件目录】
功能: 将指定目录下所有文件建立目录于工作表中
特点: 1.可自由定义目标文件的路径。
2.允许选择目录是否产生链接。
3.可以对子目录中的文件建立目录,不管文件夹中有多少个子文件夹。
4.可以多次执行工具,从而将建立不同文件夹中的文件目录。程序自动将其分置于不同的列中。
工具: 【工作簿拆分】
功能: 将指定工作簿的每个工作表拆分成单独的工作簿
特点: 1.自由选定存放路径。
2.提是拆分后是否保留公式的选项。
3.可以自由定义参与拆分的工作表名
工具: 【工作表拆分】
功能: 将当前工作表的数据按条件拆分成多个工作表
特点: 1.可以自由选择条件所有列。
2.可以设定标题行数,标题不参与拆分。
3.可以自由定义折分条件。
4.可以选择折分成多工作表后是否保留原有公式。
工具: 【合并工作簿】
功能: 将多个具有相同格式的工作簿中所有工作表合并为一个工作簿的多工作表中,也可以将一个工作簿的所有工作表合并到一个工作表
特点: 1.多工作簿合并时,可以自由指定待合并工作簿的目录路径。
2.可以选择将多工作簿合并到同工作表还是同工作簿。
3.对于多个工作簿中具有同名工作表时,可以选择是否合并工作表。
4.进以定义参与合并的工作簿名。即所选文件夹中存在多工作簿,可以对部分执行合并。
5.如果仅对一个工作簿中的工作表进行合并,那么选择“多工作表合并”。
6.对工作表合并时,允许选择参与合并的工作表名。即既可全部参与合并也可以部分工作表参与合并。
7.合并前需要将当前工作簿保存。
工具: 【选区背景着色】
功能: 将选择区域或者选区所在行、列用醒目的颜色标识,便于查看
特点: 1.着色的对象有“选区”、“行”、“列”以及“行列”可选。
2.可选颜色包括6种。
3.可以随时启用、禁用着色功能。
4.程序具有记忆功能。即保存上次的设置。
工具: 【小写转大写】
功能: 将阿拉伯数字转换成人民币大写形式
特点: 1.可以批量操作。
2.可以同时选择多个区域再执行工具。
3.几百个单元格数据瞬间完成转换。
工具: 【大写转小写】
功能: 将人民币大写转换成阿拉伯数字
特点: 1.可以批量操作。
2.可以同时选择多个区域再执行工具。
3.几百个单元格数据瞬间完成转换。
工具: 【批量新建或复制工作表】
功能: 批量新建或者工作表
特点: 1.操作灵活:可以选择新建或者复制。
2.批量操作:可以一次性建立或者复制1到255个。
3.高速操作:建立或者复制255个工作表三秒钟不到即可完成。
4.方向自由:可以定义新表在当前表之前或者之后。
5.命名灵活:对于表名有规律的创建或者复制新表,可以选择“从单元格创建”。
工具: 【批量加解密】
功能: 对当前工作簿中所有工作表或者指定的部分工作表进行加、解密
特点: 1.可以灵活的指定加、解密工作表名。
2.对100个工作表加密或者解密不超过3秒钟。
3.本工个适用于多工作表使用相同密码保护,否则请手工操作。
4.其中解密是知道密码的前提下进行批量解密,而非绿色。
工具: 【生成工资条】
功能: 高效的工资条设计工具
特点: 1.瞬间将工资明细表生成工资条,方便打印并裁剪。
2.生成的工资与工资条之间有一个空行,供剪裁用。可以自定义其高度。
3.可以自己定义工资条头的行数,不同公司可能有不需要标题行。
4.只要类似工资条的信息都可以用本工具生成,例社保资料、成绩通知条等等。
工具: 【删除工资条】
功能: 删除前一工具生成的工资条头
特点: 1.可以由用户指定标题行数,使其适用面更广。
2.瞬间删除工资条标题信息,还原为明细表。
工具: 【反向选择】
功能: 对当前数据区域进行反向选择,即定位于未选择的区域
特点: 1.可以由用户指定标题行数,使其适用面更广。
2.瞬间删除工资条标题信息,还原为明细表。
备注:工具通用于Excel 2003和 EXCEL 2007
工具安装:
必须先解压,然后双击“安装.EXE"
如果需要删除工具,则双击“删除.EXE”
按指定的列和行,拆分表。
例如:一个综合性的excel报表,第1行C列是省份,而且此综合性报表有多个sheet要拆分,想要实现拆分所有sheet,并按省份合并成一个excel表,比如所有辽宁省的数据合并成一个excel文件以不同的sheet体现。用此脚本即可实现。
1、标题行唯一,不能跨行;
2、以某列为的数据为标准值进行拆分,该列不能有合并单元格;
3、每个sheet单独执行脚本拆分;
4、最后多个sheet是否能够按拆分数据标准合并成一个excel文件,主要看每次拆分时的给新文件起的名称是否一致,文件存在则新增sheet,不存在则创建文件。
另有附带小工具函数:
获取数量列号的英文字母、判断字符是否是英文、替换非汉字\数字\字母的字符、判断文件是否存在。
对应之前文章《Excel·VBA按列拆分工作表》,对Excel表格数据按照固定行数,将工作表拆分
工作表按行拆分为工作表
Sub 工作表按行拆分为工作表()
'当前工作表(worksheet)按固定行数拆分为多个工作表,保存在当前工作簿(workbook)
Set ws = Application.ActiveSheet '当前工作表即为待拆分工作表
title_row = 1 '表头行数,每个拆分后的sheet都保留
num_row = 100 '拆分数据行数,按多少
excel宏-将指定的SHEET按规则分拆并生成新的文件
原始需求是:将录入的脐橙订单自动分拆生成京东物流单导入格式文件
1. 每一行的包裹数量为1 (20斤), 例如订单为10件,自动分拆成10行
2. 将同一个地址的2个10斤计算为一个包裹
3. 将批复复制分拆的内容自动保存为新的文件
Sub NewSheets()
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&
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set d = CreateOb
Windows.Item(TextEdit1.Text).Activate();
let cel = Range("A1");
let coNum = SpinButton2.Value;//输入需要处理的列数
rowNu = Application.ActiveSheet.UsedRange.Rows.Count;//区域中使用的有效行数
let nummb = 0;
将Excel工作表按列拆分成多个Excel文件是一项实用的任务,特别是在处理大量数据时。这里介绍一种小工具来轻松完成这个任务。
首先,需要使用VBA编写宏(Macro)来实现按列拆分Excel工作表。代码如下:
Sub SplitColumnsToFiles()
Dim path As String
Dim book As Workbook
Dim sheet As Worksheet
Dim col As Range
Dim lastRow As Long
Dim lastCol As Long
Dim fileName As String
path = Application.ActiveWorkbook.Path & "\"
Set book = Application.ActiveWorkbook
Set sheet = ActiveSheet
lastCol = sheet.Cells(1, Columns.Count).End(xlToLeft).Column
For Each col In sheet.Rows(1).Cells
If col.Column <= lastCol Then
fileName = path & col.Value & ".xlsx"
Set newBook = Workbooks.Add
With newBook
.Sheets(1).Cells(1, 1).Value = "This is " & col.Value & " column."
lastRow = sheet.Cells(Rows.Count, col.Column).End(xlUp).Row
sheet.Range(sheet.Cells(1, col.Column), sheet.Cells(lastRow, col.Column)).Copy .Sheets(1).Cells(2, 1)
.SaveAs fileName
.Close
End With
End If
Next col
End Sub
运行此宏后,Excel将按照每个列的标题进行拆分,并将每个文件命名为该列的标题。每个文件中包含两行数据:第一行是该列的标题,第二行是该列的数据。
使用此小工具,您可以轻松将一个大的Excel工作表拆分成多个Excel文件。同时,您还可以基于此代码进行调整,以实现您个人的需求。