自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 VBA中出错 不能取得worksheetfunction的match属性

在VBA中易出现 “不能取得worksheetfunction的match属性”的错误提示

2025-03-24 19:06:57 336

原创 VBA数组,从二维数组中取出某一行或某一列的方法

VBA数组,从二维数组中取出某一行或某一列的方法

2025-03-24 16:43:51 82

原创 ​VBA中的DateDiff ()函数​

VBA中的DateDiff ()函数​用法

2025-03-20 11:33:09 427

原创 VBA中文件和输入输出

FileSystemObject(FSO),作为 Microsoft Scripting Runtime 库的一部分,为文件操作提供了丰富的属性和方法集,超出了传统 VBA 文件处理(例如,Open、Print #、Write #)所提供的。除了处理文件,FSO 还可以操作文件夹和驱动器,使其成为 VBA 内文件系统操作的强大工具。

2025-02-10 15:35:32 989

原创 VBA读写注册表设置

利用这两个函数可以与注册表直接交互,这不仅允许我们获取其它程序和硬件的信息,而且也能够使我们选择应用程序中的重要信息并将其存储在注册表中。说明:如果 GetSetting 的参数中的任何一项都不存在,则 GetSetting 返回 default 的值。字符串表达式,包含应用程序或工程的名称,要求这些应用程序或工程有注册表项设置。功能:从Windows 注册表中的应用程序项目返回注册表项设置值(从注册表读取数据)。下面的示例代码创建带有两个值的子键,列出它们的值,然后删除子键并再次试图列出它们的值。

2025-02-09 21:21:27 683

原创 VBA获取电脑磁盘信息

本文介绍了如何在VBA中通过Drive对象获取磁盘信息,包括驱动器类型、卷标等。示例代码展示了如何创建FileSystemObject对象,使用GetDrive方法获取Drive对象,并展示其各项属性,如AvailableSpace、DriveLetter等。此外,还提供了获取所有磁盘信息的方法及完整属性应用示例。

2025-02-08 23:43:16 728

原创 rows.count的用法

Rows.Count是指当前活动工作表的行数,为数字 1048576,很熟悉的一个数字,为Excel工作表的最大行数Cells(Rows.Count, 1),则是定位到第一列的最后一行cell,即单元格“A1048576”主要是End(xlUp)比较难理解。

2025-02-08 17:03:43 279

原创 VBA中通过选择对话框选择文件或文件夹-filedialog用法

c. 与文件夹选择不同的时,这里可以选择是否要多选文件,属性为AllowMultiSelect,默认是True,可以多选,如果设置为False,就是不可以多选。上文中获取的paths是一个对象(如下图),Count表示选择项的个数,如果属性Count=0则说明没有选择文件夹或者文件。可能通过下标获取选择的其中一个项,paths(1)代表第一个选择到的项,在这里的值是"C:\shell.log"。b. 获取选择到的文件 set paths = FileDialogObject.SelectedItems。

2025-01-21 20:15:51 1441

原创 Excel VBA 自定义函数中的可选参数

一、定义可选参数要定义一个可选参数,可以在参数名称前面加上关键字Optional。可选参数必须放在必需参数之后,并且总是Variant数据类型,这意味着不能使用关键字As来明确可选参数的类型。例如,下面的函数Avg计算两个或三个数字的平均值,其中第三个参数是可选的:num3 = 0End If在这个函数中,如果没有提供第三个参数num3,则使用IsMissing函数来检测,并将num3设置为 0,同时将totalNums减 112。二、调用带有可选参数的函数。

2024-12-16 07:09:32 566

原创 VBA中用range生成的行数组或列数组均为二维数组,转成一维方法

如arr=sheet1.range("a1:a3"),这是三行一列的二维数组,用arr(1,1)、arr(2,1)、arr(3,1)均能获取数据,但如用arr(1)、arr(2)、arr(3)获取数组就会出错,提示“下标越界",若用arr(1,1)就会取到数据,所以用range生成的列数组是二维数组。如再把一维转成列数组,转置后一定是二维列数组,如上面再来一次,arr=worksheetFunction.Transpose(arr),此时arr成一二维列数组。(2)列数组转置成一维行数。

2024-10-22 12:55:20 601

原创 VBA中的基础知识:类型判别及定义

redim可以声明数组大小,但声明后数组大小是固定的,但如果数组的大小是变动的,我们不知道数组要填入多少值,如果我们还用redim 声明,是可以改变数组的大小,但原来输入的值全部都没有了。使用 replace() ==>三个参数,第一个参数为要处理的字符串,第二个参数为需要查找的旧字符串,第三个参数为需要替换为的新字符串。动态数组中用REDIM改变数组最后一维的大小,但是如果数组中已经有了数据,如果只用redim的形式的话,数组中原有的数组就会丢失,为了保留数据,就需要加preserve关键字。

2024-10-22 11:36:29 921

原创 VBA中如何确定数组下界是从0或1开始

例如,'Data = Array(Array("code", "name", "sex", "age"), Array("001", "zhangsan", "man", 40), Array("002", "lisi", "man", 30), Array("003", "wang5", "man", 40), Array("004", "lu6", "man", 30))rw数组是Data的转置数组,成了行数组,再用Lbound(rw,2)求rw的二维下界,提示下标越界,说明行数组是一维数组。

2024-10-13 08:47:46 1384

原创 VBA 数组,取二维数组中的1行/1列的两种方法

'工作表函数index ,match都是index从1开始,EXCEL本身 row column 都得从1开始。工作表函数index ,match都是index从1开始,EXCEL本身 row column 都得从1开始。Debug.Print LBound(arr2) '用index取出来的数组,index已经从1开始了。'为啥第0行变成了第2行?'用index取出来的数组,index已经从1开始了。用index取出来的数组,index已经从1开始了。Debug.Print "第1种方法,取1行"

2024-10-11 17:32:14 618

原创 EXCEL的Vba中:获取指定数值在指定一维数组中的位置

在实践过程中发现,VBA的filter函数无法完全匹配指定数值;而借助Excel的match函数,可以实现完全匹配。如果存在,则希望能够获取该数值在数组内的位置。根据指定的筛选准则,传回包含字串阵列子集的以零为基础的阵列。而在实际案例中,可能希望只获得完全匹配的元素。傳回項目在陣列中的相對位置,其符合指定順序中的指定值。如果省略 match_type,則會假設其值為 1。由上图可以看出,采用Filter函数匹配到的是包含。运行上述程序,得到flag的值为2。代码语言:javascript。

2024-10-11 13:52:16 895

原创 excel的VBA中数组重定义

这样,就定义了一个动态数组及其名称:MyStr(),现在,该数组的上界下界都是个未知数,也就是说,数组中到底有没有内容或到底有什么内容,是个未知数。现在,该数组的长度尽管为3,但是,里面却只有一个数据了,那就是,MyStr(2)的值是3,而MyStr(0)和MyStr(1)里面,什么都没有。ReDim Preserve MyStr(3) '原来长度是2,现在重新确定为3,并且,保留原有的数据。现在,这个动态数组有两个值了,分别是0和1,现在,我们再重新确定该数组的长度。当然,重新确定自然又有两种情况了。

2024-10-10 23:23:25 578

原创 VBA中treeView控的 使用方法

Add relative:="科目", _.Add Key:="科目", Text:="科目名称"MsgBox "你选择的不是末级科目!再加上一个双击可以将所选末级科目输入单元格的事件。首先找到我们的TreeView控件插入。

2024-10-09 17:37:09 1130

原创 VBA中的注释块的快捷键设置

VBA代码注释的快捷键设置方法如下12:

2024-10-09 17:29:39 1323

原创 Excel 用VBA 读取SqlServer 数据库中的数据

Range("b1:c1").Value = Array("time", "mod") '直接用Array() 函数构造数组并赋能range().value。Set conn = New ADODB.Connection '定义数据库连接变量-对象。Set rs = New ADODB.Recordset '定义记录型变量-对象。" ’把红色部分换成实际的内容即可。2. 建立数据库连接,定议conn。3. 从 find1 数据库的。'将数据输出到工作表。

2024-10-09 16:23:51 726

原创 VBA中数组与Range()区域的数据互传

本文主要介绍数组与range互相转换的知识

2024-10-09 16:06:27 794

原创 VBA读取其他Excel文件内容

VBA读取其他Excel文件内容

2024-10-06 20:52:25 710

原创 Nginx安装与配置详解(转载)

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。以下是关于Nginx的安装与配置的详细解释

2024-10-05 19:36:46 363 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除