![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VBA
牧文山
这个作者很懒,什么都没留下…
展开
-
Excel VBA小程序 -批量合并和撤销合并单元格
合并单元格之前要提前将数据列排序好,然后再复制以下代码,运行宏程序。批量合并单元格Sub RngMergeCondition() '批量合并单元格 Dim rngUser As Range Dim rngMerge As Range Dim rngSelect As Range Dim i As Long, j As Long Dim lngRowFirst As Long Dim lngClnFirst As Long Dim arr As Va原创 2021-11-01 21:05:39 · 921 阅读 · 0 评论 -
Excel VBA小程序-如何快速将整个工作簿的公式转换为数值
根据操作范围,这可以分为三种情况。❶多工作表公式转数值❷多工作簿公式转数值1、多工作表公式转数值如果是将当前工作簿所有工作表的公式转换为数值,需要使用到VBA代码。Sub FunctionTransValue_Sheets() Dim sht As Worksheet For Each sht In Worksheets '遍历工作表 sht.UsedRange.Value = sht.UsedRange.Value Next MsgBox "ok"原创 2021-02-12 16:54:46 · 7388 阅读 · 4 评论 -
Excel VBA小程序 -使用VBA实现VLOOKUP函数查询?
表格内容:A列B列C列D列E列F列姓名出生日期年龄姓名年龄杨春海1987-6-2233许文武赵春雨1980-9-1739刘永江李美桥1998-4-1222刘永江1992-3-1728许文武1987-4-1333刘景瑞1994-7-2726如果用VLOOKUP函数解决:=IFERROR(VLOOKUP(A11,A$1:C$7,3,0),"")如果使用VBA代码解决:原创 2020-10-02 11:17:35 · 15876 阅读 · 3 评论 -
Excel VBA小程序-替换0值
Sub 替换0值()Dim Sh As WorksheetFor Each sht In ThisWorkbook.Worksheets With sht.UsedRange .Replace What:="0", Replacement:="" End WithNextMsgBox "成功了"End SubSub 替换0值()With ActiveSheet.UsedRange.Replace What:="0", Replacement:="",原创 2020-09-05 16:16:06 · 865 阅读 · 0 评论 -
Excel VBA 小程序 - 文本型数字转为数值型数字
实现功能:选中当前工作表中的所有数据内容,将文本型数字转换为数值型数字。缺点:日期格式的字符串会变成数值Sub 转数值型数字()With ActiveSheet.UsedRange .NumberFormatLocal = "G/通用格式" .Value = .ValueEnd WithEnd Sub...原创 2020-09-05 12:06:59 · 8373 阅读 · 2 评论 -
ExcelVBA小程序 -生成序号
打开宏窗口,复制粘贴以下代码:Sub 生成序号()On Error Resume NextDim l As Integer, i As Integerl = InputBox("请输入序号所在的列号(1-n)")Columns(l).ClearFor i = 1 To 101Cells(1, l) = "序号"Cells(i, l) = i - 1NextWith ActiveSheet.UsedRange .NumberFormatLocal = "G/通用格式"原创 2020-08-30 11:25:31 · 2032 阅读 · 0 评论 -
ExcelVBA小程序 -批量去除表内超链接
打开宏窗口,复制粘贴以下代码:Sub 批量取消超链接()Cells.Hyperlinks.DeleteEnd Sub单击执行。原创 2020-08-24 09:53:23 · 569 阅读 · 0 评论 -
Excel VBA小程序 - 如何实现错位选择单元格
EXCEL如何选中指定单元格的上面和下面一格?一、效果展示处理数据时,常常会出现所要获取的单元格信息里没有统一的关键字,而在但是我要一起选中这些单元格的上面一格(每个选中单元格的上面一格)。或者是和向上黏贴一样,把我的选中直接上移,不移动内容只移动选中。。。。Sub 选中上一格()Selection.Offset(-1, 0).SelectEnd SubSub 选中下一格()Selection.Offset(2, 0).SelectEnd SubSub 选中上一格和当前单元格(原创 2020-08-14 20:44:56 · 366 阅读 · 0 评论 -
Excel VBA小程序 - 获取打开文件的工作路径和工作名
01、获取打开文件的工作路径和工作名'======================================================================'功能: 获取打开文件的工作路径和工作名'函数名: selectExcelfile'参数1: ThisDirPath 需查找的文件夹名,最后可以有或没有"\"'返回值: 单元格A1得到文件全路径,单元格A2得到文件名'==========================================原创 2020-08-12 21:16:42 · 1537 阅读 · 0 评论 -
Excel VBA小程序04- 合并同文件夹下多工作簿中同名工作表并生成汇总表格
小贴士:1、filename = Dir(path & "\*.xlsx")如果改为` filename = Dir(path & “*.xls*”)可以同时打开文件夹中的xls文件。Sub all_excel_files() Dim path As String, filename As String Dim w As Workbook, ws As Workbook With Application.FileDialog(msoFileDialogFo原创 2020-08-10 22:46:44 · 7031 阅读 · 7 评论 -
Excel VBA小程序03-快速提取单元格中的数字和非数字
遇事不决就去隔壁找Word手机2134型号3242135手机325型号2手机13632型号6自定义函数Function Extract_numbers(aa As Range) Dim n As Integer, i As Integer, tem n = Len(aa.Value) For i = 1 To n If IsNumeric(Application.Find(Mid(aa.Value, i, 1), "原创 2020-08-09 16:25:17 · 5808 阅读 · 0 评论 -
Excel VBA小程序02-如何用VBA提取文件夹内文件名?
一、提取单层文件内的文件名只会提取到文件,如果是文件夹自动忽略。Sub FileDir() Dim p$, f$, k& '获取用户选择文件夹的路径 With Application.FileDialog(msoFileDialogFolderPicker) '选择文件夹 If .Show Then p = .SelectedItems(1) '选择的文件路径赋值变量P Else原创 2020-08-06 20:34:36 · 5101 阅读 · 2 评论 -
Excel VBA小程序01-将多个sheet表另存为单独的工作薄文件并清除原表数据
另存为xlsx文件的具体步骤按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码,代码大同小异。1、保存全部表格,不保留分表格式Sub 复制() Dim Sh As Worksheet Dim wb As Workbook Dim cPath$, cFile$, nR1&, nR2&, Arr() cPath = ThisWorkbook.Path & "\" Application.ScreenUpdating = Fa原创 2020-08-06 11:14:11 · 3884 阅读 · 0 评论 -
VBA常见错误 - “错误3706,未找到提供程序,该程序可能未正确安装”解决方法
1、问题描述在利用VBA编程时,引用其它表格数据,出现以下问题:(1)运行“错误3706,未找到提供程序,该程序可能未正确安装”。(2)引用数据失败2、解决方法下载“Access 2010 数据库引擎”,并安装即可。https://www.microsoft.com/en-us/download/details.aspx?id=54920AccessDatabaseEngine 2010 官方安装包,官网下载不了的可以来这里下载。(1)运行“错误3706,未找到提..原创 2020-05-12 21:56:12 · 27062 阅读 · 3 评论