
VBA
小鸿叔
我太懒了,什么也不想写。
展开
-
EXCEL-VBA:延迟几秒不卡顿Sleep变通方法
方法是使用Sleep。然后每过百毫秒Doevents一次原创 2022-07-05 18:33:56 · 2723 阅读 · 1 评论 -
Word-VBA:打开的文档避免阅读模式
Word不知道从哪个版本开始,有个阅读模式。代码控制很简单:原创 2022-07-03 20:12:17 · 316 阅读 · 0 评论 -
Excel-VBA:UsedRange.Rows.Count取不到最后一行的行号(行标)
Sheet1.UsedRange.Rows.Count'一般是用此种方式能取到最后一行的行标,但是如果Excel表的第一行是空的,就会导致只取Used Range(使用区域)的总行数。'举个栗子,如果一个表,只有A2单元格里有内容,那上一条的返回值就是1,因为使用区域只有一行的。'取到最后一行的行标方法如下:Sheet1.UsedRange.Cells(sht3.UsedRange.Rows.Count,1).row'Cells(使用区域的最后一行,第一列).行标...原创 2021-11-06 00:02:01 · 12466 阅读 · 0 评论 -
EXCEL-VBA:单元格粘贴成数值(2种方法)
Copy + Paste大法,其实自己个录个宏就行的Range("C18").SelectSelection.CopySelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False代码自己手工改改,如下:Sheet1.Range("C18").CopySheet1.Range("C18").PasteSpecial Paste:=xlPaste原创 2021-11-05 21:27:32 · 21923 阅读 · 0 评论 -
EXCEL-VBA:定位滚动到图表位置
Application.GoTo Reference:=SheetData.Range("A" & SheetData.ChartObjects(1).TopLeftCell.Column), Scroll:=True Application.GoTo Reference:=sheetdata.Range("A1"), Scroll:=True With ActiveSheet.Shapes(1).TopLeftCell R = .Row ...原创 2021-10-20 22:29:08 · 955 阅读 · 0 评论 -
EXCEL-VBA:选中单元格后,聚光灯效果
1、选择适用的单元格范围;2、新建条件格式-->使用公式确定要设置格式的单元格:输入公式 =OR(CELL("row")=ROW(),CELL("col")=COLUMN())3、选择一种背景色4、Alt+F11,代码如下:Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.ScreenUpdating = False Application.ScreenUpdating =...原创 2020-11-21 19:04:41 · 1762 阅读 · 0 评论 -
VBA-Excel:Excel导出Shape成图片
Sheet1.Shapes("PIC").CopyPicture ‘对图形命名为PIC,也可以用序号调用Shapes(1) With Sheet1.ChartObjects.Add(0, 0, Sheet1.Shapes("PIC").Width, Sheet1.Shapes("PIC").Height).Chart .Paste .Export ThisWorkbook.Path & "\a.png" .Parent.Delete...原创 2020-10-30 18:51:52 · 2940 阅读 · 0 评论 -
EXCEL-VBA:图形保存为图片
SheetChat.ChartObjects(1).chart.Export "c:\a.gif"SheetChat.ChartObjects("Chart1").chart.Export "c:\a.jpg"原创 2020-10-10 21:25:08 · 2748 阅读 · 0 评论 -
Word-VBA:替换文字
'工具-引用Microsoft Word 16.0 Object Library (16会因为机器安装的版本不一)WordApp.Selection.Find.ClearFormattingWordDoc.Range.Find.Execute findtext:="被替换掉啥", ReplaceWith:="替换成啥", MatchWildcards:=True, Forward:=True, Replace:=wdReplaceAll, Wrap:=wdFindContinue如果不引用,.原创 2020-09-09 12:11:13 · 5687 阅读 · 0 评论 -
Word-VBA:删除选择区域的项目符号
Selection.Range.ListFormat.RemoveNumbers原创 2020-09-06 14:41:48 · 761 阅读 · 0 评论 -
VBA-EXCEL:控制WORD指定位置,插入图片并调整在大小,高低,环绕
Dim WordApp As ObjectSet WordApp = CreateObject("Word.Application")WordApp.Visible = TrueDim WordDoc As ObjectSet WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\TEST.docx")PicPath="图片地址"WordApp.ActiveDocument.Bookmarks("BM1_1").Range.Se.原创 2020-08-09 20:39:59 · 9672 阅读 · 4 评论 -
EXCEL-VBA:读取UTF-8格式的文本文件
Function ReadUTF8File(ByVal FileName As String) As String With CreateObject("ADODB.Stream") .Type = 2 '读取 .Mode = 3 '读写模式 .Open .LoadFromFile FileName .Charset = "UTF-8" '编码格式 .Position = 2 .原创 2020-06-10 22:38:53 · 4017 阅读 · 0 评论 -
Excel-VBA:根据正则表达式提取文本(字符串、内容)
'测试:将“abc@@eee”中的@@提取出来Sub test() MsgBox GetValueByRegex("abc@@eee", "abc(.*?)eee")End SubFunction GetValueByRegex(ByVal OrgStr As String, ByVal PatternStr As String) Set re = CreateObjec...原创 2020-04-13 22:56:03 · 8494 阅读 · 0 评论 -
Excel-VBA:列号与列名(字母)间的互换
'列号转字母(列名)Function Num2Name(ByVal ColumnNum As Long) As String On Error Resume Next Num2Name = "" '超出范围返回空,如调用Num2Name(100000) Num2Name = Replace(Cells(1, ColumnNum).Address(0, 0), "1", ...原创 2020-03-28 21:42:47 · 1465 阅读 · 0 评论 -
EXCEL-VBA:检测Sheet是否存在
Sub test() MsgBox CheckIsExistsSheetName("Sheet1")End SubFunction CheckIsExistsSheetName(ByVal SheetName) As Boolean CheckIsExistsSheetName = False Dim sheet As Worksheet For Each ...原创 2019-12-09 13:22:50 · 9643 阅读 · 3 评论 -
EXCEL VBA运行不显示系统提示
Sub XXX() Application.DisplayAlerts = False '代码段 Application.DisplayAlerts = TrueEnd Sub以下是MICROSOFT 给出的说明原文语法 表达式 .DisplayAlerts表达式 一个表示应用程序对象的变量。原创 2013-08-20 14:26:48 · 4378 阅读 · 0 评论 -
EXCEL-VBA:控制(设置)表单控件,读取内容
'方法1Sheet1.Labels("标签 1").Caption = "标签内容" Sheet1.Buttons("按钮 1").Caption = "开始按钮" Sheet1.CheckBoxes("复选 1").Value = xlOn Sheet1.OptionButtons("选项按钮 1").Value = xlOn Sheet1.L原创 2018-12-19 12:06:32 · 9415 阅读 · 1 评论 -
EXCEL-VBA(WORD):将EXCEL中的文字替换到Word中的文字
Dim WordApp As ObjectSet WordApp = CreateObject("Word.Application")WordApp.Visible = TrueDim WordDoc As ObjectSet WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\AAA.docx") '工作簿同一目录下的A...原创 2019-05-12 12:16:55 · 8099 阅读 · 3 评论 -
EXCEL-VBA:将EXCEL的表格、图形、文字粘贴到Word中的指定位置
思路:1、Word建书签,不会的自己百度;2、EXCEL中复制;3、Word中找到书签并选中,粘贴或复制。注意:一定要在EXCEL工具-引用 “Microsoft Word 1?.0 Object Library”,否则一些Word中的类无法使用的。Sub test()Dim Sheet As WorksheetSet Sheet = ThisWorkbook.Shee...原创 2019-05-12 12:48:53 · 15997 阅读 · 2 评论 -
Excel-VBA:文本转换数字
With Sheet2.UsedRange .Value = .ValueEnd With原创 2019-08-15 22:34:55 · 15218 阅读 · 1 评论 -
VBA:通过API函数,调用计算器,模拟按键等操作
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) ...原创 2018-12-06 14:58:00 · 5943 阅读 · 0 评论 -
EXCEL-VBA:Workbooks.Open 参数 (打开文件)
打开一个工作簿。语法表达式 . Open( FileName , UpdateLinks , ReadOnly , Format , Password , WriteResPassword , IgnoreReadOnlyRecommended , Origin , Delimiter , Editable , Notify , Converter , AddToMru , Local ,...转载 2018-11-07 11:11:27 · 67674 阅读 · 1 评论 -
EXCEL-VBA:设置单元格格式
EXCEL-VBA:设置单元格格式原创 2017-09-20 09:48:50 · 19961 阅读 · 0 评论 -
EXCEL-VBA:弹出对话框,打开文件(指定扩展名)两种方法
EXCEL-VBA:弹出对话框,打开文件(指定扩展名)原创 2017-04-26 13:39:00 · 15645 阅读 · 0 评论 -
EXCEL 汉字转拼音
EXCEL 汉字转拼音转载 2017-04-15 10:27:39 · 2499 阅读 · 0 评论 -
EXCEL-VBA:根据单元格字体、背景颜色计数、求和
1、EXCEL-开发工具中Visual Basic2、Sheet1上右键插入模块3、代码粘贴Function CountByBGColor(Col As Range, CountRange As Range) '根据背景颜色计数Application.Volatile'用于将用户自定义函数标记为易失性函数,无论何时在工作表的任意单元格中进行计算时,易失性函数原创 2016-08-24 09:00:43 · 10278 阅读 · 4 评论 -
EXCEL VBA 选择文件对话框
Sub XXX() Dim arr() arr = Application.GetOpenFilename("所有支付文件 (*.xls;*.xlsx;*.csv),*.xls;*.xlsx;*.csv,Excel 文件 (*.xls),*.xls,Excel2007 文件 (*.xlsx),*.xlsx,CSV 文件 (*.csv),*.csv", , "选择文件", , T原创 2013-08-20 15:13:53 · 12556 阅读 · 1 评论 -
Excel宏操作剪贴板
先菜单 插入--用户窗体。然后,文件移除刚插入的用户窗体。 (作这两步的目的是为了,引用“Microsoft Forms 2.0 Object Library”。) 准备工作完了,代码如下: Sub Test()Dim MyData As DataObjectSet MyData = New DataObjectMyData.GetFromClipbo原创 2009-03-09 17:25:00 · 3402 阅读 · 0 评论 -
EXCEL VBA编程基础
PS:建议从“二)、基本概念”开始看起,前面的大部份人都知道了。Excel 最重要的应用就是利用公式进行计算。无论输入是纯粹的数字运算,还是引用其他单元格计算,只要在一个单元格中输入公式,就能得到结果。这个直接显示结果的设计对于绝大多数场合来说都是适用的,但某些情况下就不那么让人满意了。比如说在做工程施工的预结算编写,使用Excel,既要写出工程量的计算式,也要看到它的结果,于是这样相同的公式转载 2008-05-13 16:16:00 · 11836 阅读 · 2 评论 -
正则表达式语法
正则表达式语法一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。这里有一些可能会遇到的正则表达式示例: JScript VBScript原创 2008-04-25 13:34:00 · 1184 阅读 · 0 评论 -
VB6 通过正则表达式定位字符串
[工程]-[引用] "Microsoft VBScript Regular Expressions"本例是要定位字符串s中数字出现的位置Private Sub Command1_Click()Dim re As RegExp, s As String, Matchss = "http://blog.sina.com.cn/juyonghong/123456.html"Set re = N原创 2008-04-25 11:07:00 · 1667 阅读 · 0 评论 -
EXCEL-VBA:Sheet是否存在、新建Sheet、Sheet改名
EXCEL-VBA:Sheet是否存在、新建Sheet、Sheet改名原创 2017-09-20 10:32:26 · 24888 阅读 · 5 评论 -
EXCEL-VBA:递归遍历文件夹及子文件夹中的文件
EXCEL-VBA:递归遍历文件夹及子文件夹中的文件原创 2017-09-20 10:35:41 · 29149 阅读 · 1 评论 -
EXCEL-VBA:Excel Range数组批量输入数据
Sheets("Sheet1").Range("A1:B1").Value = Array(1, 2)原创 2018-11-03 17:34:39 · 3887 阅读 · 0 评论 -
VBA-API:通过BEEP函数(扬声器)播放音乐
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long '响铃API函数声明Private Const K = 0 '空拍Private Const C4 = 523Private Const C_4 = 554Private Const ...原创 2018-10-27 11:00:34 · 5311 阅读 · 0 评论 -
Excel-VBA:定时器的用法
VBA中没有定时器,但是可以使用 “Application.OnTime 时间,过程名”的方式来做一个定时器 Public TimerEnabled As Boolean Sub EnableTimer() '开始 TimerEnabled = True StartTimer End Sub Sub DisableTimer() '停用 Ti...原创 2018-10-26 08:39:15 · 16235 阅读 · 2 评论 -
EXCEL-VBA:汉字转拼音
Function PinYin(p As String) As String i = Asc(p) Select Case i Case -20319 To -20318: PinYin = "a " Case -20317 To -20305: PinYin = "ai " Case -20304 To -20296: PinYi...原创 2018-09-18 08:40:46 · 6336 阅读 · 0 评论 -
EXCEL-VBA:通过SQL查询数据Sheet中的数据
EXCEL-VBA:通过SQL查询数据Sheet中的数据原创 2017-10-11 15:50:57 · 10401 阅读 · 1 评论 -
Excel-VBA: 复选框CheckBox是否选中
Excel-VBA: 复选框CheckBox是否选中原创 2017-10-16 10:51:04 · 23382 阅读 · 1 评论 -
EXCEL-VBA:调用打开文件夹对话框,选择路径
EXCEL-VBA:调用打开文件夹对话框,选择路径原创 2017-10-05 15:40:11 · 19764 阅读 · 0 评论