永发信息网

vba错误13 类型不匹配

答案:2  悬赏:20  手机版
解决时间 2021-01-03 03:45
  • 提问者网友:欺烟
  • 2021-01-02 19:38
sub wer()
codePrefix="wrr"
TextBox1.Text="02125"
result = WebSearch(codePrefix, TextBox1.Text)******这行出错
end sub

Function WebSearch(byval codePrefix as String,byval inputText as String) as variant
.......
(result有两种可能取值,一种是字符串数组,一种是一个字符串)
WebSearch=result
end function
最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-01-02 21:06
按下面的代码进行测试,能顺利输出,没有发现问题:
Sub wer()
codePrefix = "wrr"
Sheet1.TextBox1.Text = "02125" '测试用的TextBox1在Sheet1中
result = WebSearch(codePrefix, Sheet1.TextBox1.Text) '按模拟情况进行测试,此行没有错误发生

If IsArray(result) Then
Debug.Print result(0) '返回一个字符串数组时
Else
Debug.Print result '返回一个字符串时
End If
End Sub

Function WebSearch(ByVal codePrefix As String, ByVal inputText As String) As Variant
'.......
'(result有两种可能取值,一种是字符串数组,一种是一个字符串)

'result1 = codePrefix + "," + inputText '返回字符串模拟
result2 = Split(codePrefix + "," + inputText, ",") '返回字符串数组模拟

'WebSearch = result1
WebSearch = result2
End Function

输出:
使用result1时,输出"err,02125"(不含引号)
使用result2时,输出“err”(不含引号)
全部回答
  • 1楼网友:持酒劝斜阳
  • 2021-01-02 22:40
修改说明如下方绿色字体所示 dim d as new dictionary application.screenupdating = false with worksheets("中转")     'r = sheets("中转").cells(.rows.count, 1).end("xlup").row 问题出在这一行的xlup,应去掉引号     r = .cells(.rows.count, 1).end(xlup).row '本行为修改效果;此外,已经使用了with,可以将“sheets("中转")”去掉,但这不构成问题,只是代码冗余     arr = .range("a1:h" & r)     '这一行代码提示错误13类型不匹配 end with
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯