dim a,b,c,d
a=inputbox("请输入第一个数")
b=inputbox("请输入第二个数")
c=inputbox("请输入第三个数")
if a>=b and a>=c then d=a
if b>=a and b>=c then d=b
if c>=a and c>=b then d=c
msgbox "最大的数是" & d
InStr
函数
返回某字符串在另一字符串中第一次出现的位置。
InStr([start,
]string1,
string2[,
compare])
start
可选项。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果
start
包含
Null,则会出现错误。如果已指定
compare,则必须要有
start
参数。
string1
必选项。接受搜索的字符串表达式。
string2
必选项。要搜索的字符串表达式。
compare
可选项。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,将执行二进制比较。
设置
compare
参数可以有以下值:
常数值描述vbBinaryCompare0执行二进制比较。vbTextCompare1执行文本比较。
返回值
InStr
函数返回以下值:
如果InStr
返回string1
为零长度0string1
为
NullNullstring2
为零长度startstring2
为
NullNullstring2
没有找到0在
string1
中找到
string2找到匹配字符串的位置start
>
Len(string2)0
说明
下面的示例利用
InStr
搜索字符串:
Dim
SearchString,
SearchChar,
MyPosSearchString
="XXpXXpXXPXXP" '
String
to
search
inSearchChar
=
"P" '
Search
for
"P"MyPos
=
Instr(4,
SearchString,
SearchChar,
1) '
A
textual
comparison
starting
at
position
4
Returns
6MyPos
=
Instr(1,
SearchString,
SearchChar,
0) '
A
binary
comparison
starting
at
position
1
Returns
9
MyPos
=
Instr(SearchString,
SearchChar) '
Comparison
is
binary
by
default
(last
argument
is
omitted)
Returns
9MyPos
=
Instr(1,
SearchString,
"W") '
A
binary
comparison
starting
at
position
1
Returns
0
("W"
is
not
found)
注意
InStrB
函数使用包含在字符串中的字节数据,所以
InStrB
返回的不是一个字符串在另一个字符串中第一次出现的字符位置,而是字节位置。
Function AA()
'/////////////////////////
'/////////////////////////
AA = 1
End Function
赋值到和函数名称同名的变量即可
要做出有四个按钮的msgbox可以(如下),但要有四种返回值,用msgbox真的是做不到了。
MsgBox "Data is not valid", vbYesNoCancel + vbDefaultButton4, "tt", "helpfolder/helpfilehlp", 71
通过InputBox可以获取4种及以上的返回值(借助对输入内容的判断)。
很奇怪为什么你会有这样的需求,也许我了解原因后可以帮你找到其他的解决方法。
1、在VBS脚本中使用MsgBox命令显示结果,然后在BAT脚本中使用forf命令读取MsgBox输出的结果。
2、在VBS脚本中使用WScriptStdoutWriteLine命令将结果输出到控制台,在bat脚本中使用forf命令读取控制台输出的结果。
Sub 按钮1_Click()
Dim 周长 As Double, 面积 As Double, 半径 As Double
周长 = 0
面积 = 0
半径 = 15#
Call SubN(周长, 面积, 半径)
MsgBox 周长 & " " & 面积
End Sub
Sub SubN(ByRef 周长参数, ByRef 面积参数, ByVal 半径参数)
If 半径参数 < 0 Then
周长参数 = 0
面积参数 = 0
Else
周长参数 = 2 314 半径参数
面积参数 = 314 半径参数 半径参数
End If
End Sub
以上代码是在Excel的VBA中调试的,可以满足的要求。
楼上列位思路都很正确
你看你的aa函数:Function aa() As Integer,返回值是Integer变量,而不是Integer数组呀,
所以你dim d 然后d= aa的话,d也是Integer变量,但是dovar的参数要求是Integer数组,
于是VB就报错了呀。
VB里面函数返回值是数组的我不知道行不行,反正我们都不这么干,直接把参数设成byref不就行了嘛,所以人家帮你改成了Function aa(dd() As Integer) As Boolean,对吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)