求高手解释一下下边这VB程序。
答案:2 悬赏:70
解决时间 2021-03-01 07:10
- 提问者网友:人生佛魔见
- 2021-02-28 10:36
求高手解释一下下边这VB程序。
最佳答案
- 二级知识专家网友:夜余生
- 2021-02-28 12:13
貌似是一段VBA代码,用来去掉[]中的字符,计算非[]字符的值.
可能是用来计算数学表达式吧.
以下是代码的具体说明,希望能帮得上.
Function A(c As Range)'C为传入的参数,是单元格区域
p = c.Text '取得单元格的文本字符给变量P
For j = 1 To Len(p)'以字符个数循环
F:'标记,作为下面代码跳转位置
If (Mid(p, j, 1) = "[") Then'用MID函数从P中逐个取字符,如果是[,则进行判断
For i = j + 1 To Len(p)'从主循环变量J位置的下一个位置开始循环,到P的最后,循环
If (Mid(p, i, 1) = "]") Then'与主循环一样,逐个取字符,如果是],则进行判断
j = i + 1'如果找到了],将主循环变量移到]字符的下一个位置
Exit For'找到了],退出本循环
End If
Next
End If
If (Mid(p, j, 1) = "[") Then'如果当前位置字符为[,跳转到F标记位置,再循环
GoTo F
End If
r = r + Mid(p, j, 1)'如果不是[,则取一个字符累加到变量R中
Next
If (r <> "") Then
'Evaluate函数:将一个 Microsoft Excel 名称转换为一个对象或者一个值。
A = Application.Evaluate("(" & r & ")")'如果R变量不为空,则用函数Evaluate计算R的值
Else
A = ""
End If
End Function
可能是用来计算数学表达式吧.
以下是代码的具体说明,希望能帮得上.
Function A(c As Range)'C为传入的参数,是单元格区域
p = c.Text '取得单元格的文本字符给变量P
For j = 1 To Len(p)'以字符个数循环
F:'标记,作为下面代码跳转位置
If (Mid(p, j, 1) = "[") Then'用MID函数从P中逐个取字符,如果是[,则进行判断
For i = j + 1 To Len(p)'从主循环变量J位置的下一个位置开始循环,到P的最后,循环
If (Mid(p, i, 1) = "]") Then'与主循环一样,逐个取字符,如果是],则进行判断
j = i + 1'如果找到了],将主循环变量移到]字符的下一个位置
Exit For'找到了],退出本循环
End If
Next
End If
If (Mid(p, j, 1) = "[") Then'如果当前位置字符为[,跳转到F标记位置,再循环
GoTo F
End If
r = r + Mid(p, j, 1)'如果不是[,则取一个字符累加到变量R中
Next
If (r <> "") Then
'Evaluate函数:将一个 Microsoft Excel 名称转换为一个对象或者一个值。
A = Application.Evaluate("(" & r & ")")'如果R变量不为空,则用函数Evaluate计算R的值
Else
A = ""
End If
End Function
全部回答
- 1楼网友:北方的南先生
- 2021-02-28 12:49
这个 好象不是VB的程序
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |