如何判断一个常量字符串是否为数组EXCEL VBA

作者&投稿:佟杨 (若有异议请与网页底部的电邮联系)
EXCEL VBA如何判断一个字符串是否等于数组中的值?~

以下是可以直接运行的代码,请试用。
需要注意的是,Array函数给arr数组赋值后,arr数组的下界是0,而不是1,可以用Lbound(arr)检测。如果在For...Next循环中从1开始循环,当所要查找的字符正好是arr(0)时,则会漏掉。相应的,如果发现有字符匹配,则数组中应该是第i+1个元素与目标字符串匹配。
不知以上的说明是否清楚,希望对你有所帮助。

Sub stringMatch()

Dim arr As Variant
Dim i As Integer, s As String
Dim matchLabel As Boolean

matchLabel = False
s = "abc"
arr = Array("cyb", "dbv", "ero", "eu", "fxf", "gbb", "jyn", "udn", "uup", "fxa", "fxb", "fxc", "fxe", "fxy")

For i = LBound(arr) To UBound(arr)
If arr(i) = "abc" Then
MsgBox "数组arr中第" & i+1 & "个元素等于" & s
matchLabel = True
End If
Next i

If matchLabel = False Then
MsgBox "数组arr中没有元素等于" & s
End If

End Sub

可以自己写个函数判断:
Function InArr(byval v, byref a) as Boolean dim t InArr=true for each t in a if v=t then exit function next t InArr=falseEnd Function

VBA里可通过VarType()函数来判断数据类型。是字符串,还是字符串数组,就可以知道啦。下面是代码示例:

Sub Test_Data_Type()
Const TEST_STRING = "Let me see."

Dim TEST_ARRAY
TEST_ARRAY = Array("Go1", "Go2")

myDataType = VarType(TEST_ARRAY) '这里楼主可换成 TEST_STRING 试试

If myDataType = vbString Then
MsgBox "This is not an array!"
End If

If myDataType = vbVariant + vbArray Then '【注1】
MsgBox "This is an array!"
End If
End Sub

【注1】帮助文档里说,Array()函数返回值为包含一个数组的Variant类型,即类型为vbVariant(12) + vbArray(8192) = 8204

---------------------------------------------------------------
把帮助文档内容贴过来的话格式都乱了,很难看,所以建议还是直接去帮助文档里面看。Excel里面按Alt+F11打开VBE,然后从帮助菜单里打开帮助,搜索VarType。帮助文档里面有例子。我上面写的代码也是例子。只能说到这份上了。学会看帮助事半功倍。

整数1~100之间的数据不还是整数吗?Integer类型(整型)。
Dim myData As Integer
这样就行了。不知道我理解得有问题没。

修改回答的次数是有限制的,我快达到上限了,有问题hi我吧。
总之,我想,授人以渔才是正道,才能解决根本问题,对吧?


什么是字符常量
字符常量的值,就是在ASCII编码表中的值。是个从0—127之间的整数。因此字符常量可以作为整型数据来进行运算。字符常量只能用英文单引号括起来,不能用双引号。如“Y”不是一个字符常量,而是一个字符串。而且单引号内的大小写字符代表不同的字符常量,如‘Y’、‘y’是两个不同的字符常量。

用c语言如何判断一个字符串常量的字母个数,数字个数,空格个数,其他个数...
注意s==' '里面是有一个空格的*\/ else if(c<58&&s>47)k++; \/*k存入数字数*\/ else m++; \/*m存入其它符号数*\/ } printf("char:%d Capital letters:%d Lowercase%d\\nspec:%d\\nnumber:%d\\nOther:%d\\n",i,da,xiao,j,k,m); \/*打印行中的字母,空格,数字,其它字符数*\/ } ...

C语言 判断是字符常量吗?
\\XAB'或'\\xab',就是不能加0(零)图二,c也是字符常量,如果你拿它给字符变量赋值,字符变量会得到一个'd'c也是字符常量,如果你拿它给字符变量赋值,字符变量会得到一个'1'但是字符常量书写时的正确表示方法应该\\ddd或\\xhh或'a'等。出这题的人c语言水平有限,不知道他想考什么。

字符常量和字符串常量有何区别
1、单引号内的大小写字符代表不同的字符常量,例如‘Y’、‘y’是两个不同的字符常量。2、字符常量只能用英文单引号括起来,不能用双引号。例如“Y”不是一个字符常量,而是一个字符串。3、单引号内如果是一个空格符,也是一个字符常量。4、单引号内只能包含1个字符,‘xyz’写法是错误的。但...

字符常量是什么
字符常量是指直接用一个字符来表示的值。它是编程语言中的一种基本数据类型。在计算机编程中,字符常量常常被用于表示单个字母、数字、标点符号或其他符号。这些符号在计算机内部是以特定的编码形式存储的。字符常量通常用单引号来标识其边界。例如,字符常量可以是 'a'、'b'、'+' 或 '*' 等。对于...

字符常量的值是什么?
选择B:'\\010'。字符常量需要符合以下特点:1、单引号内的大小写字符代表不同的字符常量,例如‘Y’、‘y’是两个不同的字符常量。2、字符常量只能用英文单引号括起来,不能用双引号。例如“Y”不是一个字符常量,而是一个字符串。3、单引号内如果是一个空格符,也是一个字符常量。4、单引号内...

什么是字符常量
字符常量在程序中常用于各种字符操作,如比较字符、字符转换等。它们还可以与整数进行转换和运算,因为在计算机内部,字符和整数本质上都是二进制数。例如,字符常量'5'可以转换为整数5,字符常量'A'可以转换为整数65。需要注意的是,字符常量只能包含一个字符,如果包含多个字符或者没有字符,都会导致编译...

如何判断C语言字符常量是否合法?
include "stdio.h"int mani(){ char getC;scanf("%c",&getC);\/\/从键盘输入一个字符,以回车结束输入。if( ‘A’ == getC )\/*假设输入的字符,为字符常量‘A’,就表示合法。字符常量你可以自己修改成别的,如B、C...*\/ { printf("He Fa "); \/\/怕你看不懂,就用“合法”的汉...

c++中的字符常量指的是什么?
C++语言中的字符常量:通常指单引号括起来的内容,双引号的为字符串,根据这个定义,A排除。字符常量中可以用转义序列来表示,如'\\t'表示退格,及用转义符号"\\"后加ASCll码来表示单一字符。注意此处ASCll码用八进制或十六进制表示,故开始无 0,排除B,D,还有八进制中首字以o(欧)开头,不是零,...

c语言中的字符常量是如何定义的?
首先看定义,用单引号括起来的单个字符,或用双引号括起来的一串字符即字符常量。C '&' 是用单引号括起来的单个字符,正确。A '\\xff' B '\\65' D'\\028' 是用单引号括起来的多个字符,但因它们前面都 有一个转义符 ‘\\‘ ,就不能说它们都不符合定义,都不合法的。A '\\x...

庆安县18212948137: 如何判断一个常量字符串是否为数组EXCEL VBA
琦霄牛黄: VBA里可通过VarType()函数来判断数据类型.是字符串,还是字符串数组,就可以知道啦.下面是代码示例: Sub Test_Data_Type() Const TEST_STRING = "Let me see." Dim TEST_ARRAY TEST_ARRAY = Array("Go1", "Go2") ...

庆安县18212948137: C中常量字符串和字符数组的区别 -
琦霄牛黄: 字符串常量是一个或多个字符组成的常量 比方说 一个字符串常量a 给它的初始值是 'abc123',可以是一个字符'5'构成 但是字符常量只能是一个字符 比方说一个字符常量 a 它的初始值为'1',不能多于一个字符的

庆安县18212948137: 判断一个字符串是否在数组中…… -
琦霄牛黄: 其实很简单:这样一个数组,Str()里面存放了你那些字符串.if instr(join(Str),"00027") then msgbox "yes"

庆安县18212948137: [已解决] C# 如何判断一个字符串是否在一个字符串数组中? -
琦霄牛黄: {foreach(string str2 in array) //遍历array中的元素{if (str2==str1) //C#中可以使用==来判断字符串相等,这点有点不一样{//存在//TODO}}}如果你要说数组的方法的话 有 array.Find("C#") 参考资料:MSDN

庆安县18212948137: bash脚本中,条件判断一个字串是否在数组中,除了列举之外,还有什么简单的写法吗? -
琦霄牛黄: 只能是遍历数组元素来比较: if [ "$str1“ = "conditon1" ]; thenaction1 elif [ “$str1” = "conditon3" ]; thenaction 3 fi for elem in ${array[@]} doif [ "$str1" = "$elem" ]; thenaction2breakfi done

庆安县18212948137: 如何判断一个String字符是否在string数组里 -
琦霄牛黄: String[] colors = {"blue","red","green","yellow","orange","black"}; int index=Arrays.binarySearch(colors, "orange"); 如果存在,index为数组下标,不存在-1.

庆安县18212948137: 如何判断一个字符数组是否包含某个字符串 -
琦霄牛黄: public class BString {public static void main(String[] args) {char[] a = {'q','w','q','f','r'};String str = "qwq";if(ifString(str,a))System.out.println("包含");elseSystem.out.println("不包含"); }public static boolean ifString(String str,...

庆安县18212948137: 判断字符串是否为数字 -
琦霄牛黄: 1、创建测试表;create table test_str(str varchar2(200));2、插入测试数据;insert into test_str values('123'); insert into test_str values('12a'); insert into test_str values('123111'); insert into test_str values('<<>>');3、查询表中数据;select t.*, rowid ...

庆安县18212948137: c语言 判断字符数组里存放的是否为数字 -
琦霄牛黄: 输入字符串,遍历该字符串判断每个字符是否是数字字符,是就存入整数数组,并且数字个数加1,最后输出整数数组.参考代码:#include<string.h>#include<stdio.h> int main() { int b[100],n=0,i; char a[100]; gets(a); for(i=0;a[i]!='\0';i++) if(a[i]>='0'...

庆安县18212948137: 如何正确地声明一个常量字符串数组 -
琦霄牛黄: 定义:用双引号(“”)括起来的0个或者多个字符组成的序列 存储:每个字符串尾自动加一个 '\0' 作为字符串结束标志(1)在C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组,即用一个字...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网