如何学习VBA_3.2.14:VBA中字符串的处理和判断函数

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的劳动效率,而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册,现在已经全部完成,希望大家利用、学习。

如果您只是一般的职场VBA需求,可以打包选择7.1.3.9教程+汉英手册,第7套教程是入门,第1套教程是入门后的提高,第3套教程字典是必备的VBA之精华,第9套教程是实用的典型案例讲解。这四套教程内容掌握后足以处理一般工作中的问题,实际写代码的时候再辅助代码汉英手册,足矣!如果您想进一步提高,就需要选择高级阶段的教程了

VBA是面向对象编程的语言,博大精深。很多朋友咨询VBA的学习方法,我会陆续给大家讲解一些我的经验,大家可以慢慢体会。今日的内容是:如何学习VBA_3.2.14:VBA中字符串的处理和判断函数2e55d0eed334def92485ec57be3a9e1e.jpeg

【分享成果,随喜正能量】人这一辈子,经历多了,忙乎到最后,都会发现,荣华富贵从来就不是幸福的必要条件,真正的幸福和逍遥,而是兜里有钱,身体没病,心里没事。得之坦然,失之淡然。活在当下,不念过往,不畏将来,才是通往幸福的最好的选择。。

3.2.14 字符串的处理

通常情况下字符串指的是一种数据的类型,在学习教程中我们要注意以下几点:

1 与在双字节字符集 (DBCS) 语言中一样,将 LenB 函数用于字符串中包含的字节数据。 LenB 返回用于表示此字符串的字节的数目,而不是返回字符串中的字符数。在与用户定义类型一起使用时,LenB 将返回内存中大小,包括各个元素之间的任何填充。

2 在与用户定义的数据类型中的可变长度字符串一起使用时,Len 无法确定所需的实际存储字节数。

3 Use the RightB function with byte data contained in a string. Instead of specifying the number of characters to return, length specifies the number of bytes。

4 与在双字节字符集语言中一样,将MidB函数用于字符串中包含的字节数据。参数将指定字节数,而不是指定字符数。有关使用 MidB 的示例代码,请参阅示例:

使用 MidB 和用户定义的函数 (MidMbcs) 返回字符串中的字符。此处的差别在于,输入字符串用 ANSI 表示,而长度用字节表示。

Function MidMbcs(ByVal str as String, start, length)

MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode)

End Function

Dim MyString

MyString = "AbCdEfG"

' Where "A", "C", "E", and "G" are DBCS and "b", "d",

' and "f" are SBCS.

MyNewString = Mid(MyString, 3, 4)

' Returns "CdEf"

MyNewString = MidB(MyString, 3, 4)

' Returns "bC"

MyNewString = MidMbcs(MyString, 3, 4)

' Returns "bCd"

3.2.15 判断函数IsArray、IsDate、IsEmpty、IsEmpty、IsError、IsMissing

在VBA中有几个不一般的IS函数,我们称之为判断函数。为了补充教程上的内容,我这里给大家再次介绍:

1 IsArray 函数

返回指示变量 是否是数组的 Boolean 值。

语法:IsArray(varname)

参数:varname参数是指定变量的标识符。

“IsArray”在变量是数组时返回“True”否则返回“False”。 “IsArray”对包含数组的变量尤其有用。

2 IsDate 函数

返回真,如果表达是一个日期或可识别为有效的日期或时间;否则,它返回false。

语法:IsDate(expression)

参数:expression是一个Variant 类型的值, 其中包含可识别为日期或时间的日期表达式或字符串表达式。

需要注意的是:在 Windows 中, 有效日期的范围是公元100年1月1日至公元9999年12月31日;各操作系统的范围各不相同。

3 IsEmpty 函数

返回一个指示是否已初始化变量的布尔值。

语法: IsEmpty(expression)

参数expression是一个包含数值或字符串表达式的Variant 。 但是, 由于IsEmpty用于确定是否初始化了各个变量, 因此expression通常是单个变量名称。

备注: IsEmpty 在变量未初始化或显式设置为 Empty 时返回 True;否则,返回 False。 如果 expression 包含多个变量,则始终返回 False。 IsEmpty 仅返回变量的有用信息。

ee7e7676dea6836ce6321ea26752ab9c.jpeg

4 IsError 函数

返回一个 Boolean 值,指示表达式是否为错误值。

语法: IsError(expression)

参数:expression可以是任何有效的表达式。

备注:错误值是通过使用CVErr函数将实数转换为错误值来创建的。 IsError 函数用于确定数值表达式是否表示错误。 如果 expression 参数指示错误,则 IsError 返回 True;否则,返回 False。

5 IsMissing 函数

返回一个布尔值, 该值指示是否已将可选Variant 参数传递给过程。

语法:IsMissing(argname)

参数:argname 参数包含可选 Variant 过程参数的名称。

备注:使用 IsMissing 函数可检测调用过程时是否提供了可选 Variant 参数。 如果未为指定参数传递任何值,则 IsMissing 将返回 True;否则将返回 False。

如果 IsMissing 针对某参数返回 True,则在其他代码中使用缺少参数可能导致用户定义的错误。

如果对 ParamArray 参数使用 IsMissing,则将始终返回 False。若要检测空 ParamArray,请测试以查看数组的上限是否低于下限。

898d36f867a9188654c39366b7b59a6d.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

ce8bd8be6db75cf7b4781a129f86aa82.jpeg


3cbc68abd8b49fc9bc43f9831628e73a.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/384730.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EasyCaptcha,开源图形验证码新标杆!

引言: 随着互联网的普及,验证码已成为网站和应用程序中不可或缺的安全组件。它能够有效地防止自动化攻击、垃圾邮件和机器人活动。在众多验证码解决方案中,Easy-captcha以其简单易用和高度可定制的特点受到了开发者的青睐。本文将指导读者如…

leetcode:买卖股票最佳时机二

思路: 使用贪心算法:局部最优是将买卖过程中产生的正数进行相加,进而使得最后结果最大(全局最优)。 price [7,1,5,10,3,6,4] -6,4,5,-7,3,-2 正数相加就得到了最大 代码实现: 1.循环中下标从1开始 …

unity2017 遇到visual studio 2017(社区版) 30日试用期到了

安装unity2017 遇到visual studio 2017 30日试用期到了,网上百度搜了好多方法都没有成功。 最后用了这个方法: 1)启动vs2017,在弹出要登录的窗口之前,迅速的点击工具-》选项-》账户,勾选在添加账户或对账户重新进行身…

【技巧】Allegro实用技巧之模块复用

需求分析:使用Allegro软件进行PCB Layout设计时,当电路图中有很多路相同的模块,使用模块复用的的操作方法,可以显著提高工作效率,同时也可以使PCB布局在整体上显得美观。下面来讲述这个方法。 具体方法及说明&#xf…

计算机组成原理 1 概论

主要内容 介绍运算器、控制器、存储器结构、工作原理、设计方法及互连构成整机的技术。 主要内容: ◼ 数值表示与运算方法 ◼ 运算器的功能、组成和基本运行原理 ◼ 存储器及层次存储系统 ◼ 指令系统 ◼ CPU功能、组成和运行原理 ◼ 流水线 ◼ 系统总线 ◼ 输入输出…

【蓝桥杯选拔赛真题34】C++最大值 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C最大值 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C/C最大值 第十三届蓝桥杯青少年创意编程大赛C选拔赛真题 一、题目要求 1、编程实现(C) 给定一个…

C# WinFrom+AspNetCore WebApi实现大文件下载与上传

客户端UI: 服务端WebApi: 客户端代码&#xff1a; App.config&#xff1a; <?xml version"1.0" encoding"utf-8" ?> <configuration><appSettings><add key"WebApi" value"https://localhost:7285"/><…

Days 29 ElfBoard LCD屏双电荷泵电路原理

7寸LCD屏幕的屏幕排线中采用的供电电压是5V供电&#xff0c;但是在屏幕工作时需要VCOM-5.3V、AVDD-12.5V、VGL--7V、VGH-17V几组电压&#xff0c;所以要对初始的5V电源进行DC-DC电压变换&#xff0c;在这里我们用到了双电荷泵电路。 再此电路中VCC_5V为电源输入&#xff0c;E…

2024年2月5日-2月11日周报

论文阅读 1. 本周计划2. 完成情况2.1 论文摘要2.2 网络结构2.3 损失函数2.4 优化器2.5 代码2.5.1 代码结果2.5.2 代码大致流程 4. 总结及收获4. 下周计划 1. 本周计划 阅读论文《Data-Driven Seismic Waveform Inversion: A Study on the Robustness and Generalization》并实…

嵌入式Qt 第一个Qt项目

一.创建Qt项目 打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框&#xff0c;选择Qt Widgets Application 选择【Choose】按钮&#xff0c;弹出如下对话框 设置项目名称和路径&#xff0c;按照向导进行下一步 选…

vue3中Pinia

一、pinia的简单使用 vuex和pinia的区别 参考网址&#xff1a;[Vuex] Vuex 5 by kiaking Pull Request #271 vuejs/rfcs GitHub 1.pinia没有mutations&#xff0c;只有&#xff1a;state、getters、actions 2.pinia分模块不需要models&#xff08;之前vuex分模块需要models…

肿瘤微环境异质性对治疗反应的影响(综述)

Influence of tumour micro-environment heterogeneity on therapeutic response | Nature 肿瘤的形成涉及肿瘤细胞与细胞外基质、肿瘤血管和免疫细胞的共同进化。肿瘤的成功生长和最终转移并不完全取决于肿瘤细胞的基因改变&#xff0c;还取决于这种突变在特定环境中带来的适…

【Java程序设计】【C00270】基于Springboot的moba类游戏攻略分享平台(有论文)

基于Springboot的moba类游戏攻略分享平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的游戏攻略分享平台 本系统分为系统功能模块、管理员功能模块、以及用户后台功能模块。 系统功能模块&#xff1a;在平台首…

算法-3-基本的数据结构

单双链表 1.单链表双链表如何反转 import java.util.ArrayList; import java.util.List;public class Code01_ReverseList {public static class Node {public int value;public Node next;public Node(int data) {value data;}}public static class DoubleNode {public int…

ZigBee学习——BDB

✨本博客参考了善学坊的教程&#xff0c;并总结了在实现过程中遇到的问题。 善学坊官网 文章目录 一、BDB简介二、BDB Commissioning Modes2.1 Network Steering2.2 Network Formation2.3 Finding and Binding&#xff08;F & B&#xff09;2.4 Touchlink 三、BDB Commissi…

图像处理之《黑盒扰动的可逆噪声流鲁棒水印》论文阅读

一、文章摘要 近年来&#xff0c;基于深度学习的数字水印框架得到了广泛的研究。现有的方法大多采用基于“编码器-噪声层-解码器”的架构&#xff0c;其中嵌入和提取过程分别由编码器和解码器完成。然而&#xff0c;这种框架的一个潜在缺点是编码器和解码器可能不能很好地耦合…

linux系统下vscode portable版本的python环境搭建003:venv

这里写自定义目录标题 python安装方案一. 使用源码安装&#xff08;有[构建工具](https://blog.csdn.net/ResumeProject/article/details/136095629)的情况下&#xff09;方案二.使用系统包管理器 虚拟环境安装TESTCG 本文目的&#xff1a;希望在获得一个新的系统之后&#xff…

电路设计(15)——篮球赛24秒违例倒计时报警器的proteus仿真

1.设计要求 设计、制作一个篮球赛24秒违例倒计时报警器。要求&#xff1a; &#xff08;1&#xff09;具有倒计时功能。可完整实现从“24”秒开始依序倒计时并显示倒计时过程&#xff0c;显示时间间隔为1秒。 &#xff08;2&#xff09;具有消隐功能。当“24”秒倒计时…

洛谷: P1308 [NOIP2011 普及组] 统计单词数

前言: 这道题没理解清题目表达意思&#xff0c;我开始想的是用map来记录个数&#xff0c;然后一个变量记录一开始出现的单词位置&#xff0c;不挺简单的吗&#xff0c;然后....就AC了2个..从错误提示能看到个数没啥问题&#xff0c;但是第一个单词位置不对&#xff0c;看了新样…
最新文章