ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 为什么用Join函数连接数组中的元素时会出现错误?

为什么用Join函数连接数组中的元素时会出现错误?

作者:绿色风 分类: 时间:2022-08-17 浏览:92
楼主
水星钓鱼
Q:为什么用Join函数连接数组中的元素时会出现错误?
A:用Join函数连接数组中的元素会由于各种原因导致出错,比如由于数组不是一维数组导致的报错。这里不能一一列出,这里仅说明其中一个原因。
运行如下的代**报出如图所示的错误

 
  1. Sub test()
  2.     Dim arr(1) As Integer
  3.     arr(0) = 1
  4.     arr(1) = 2
  5.     MsgBox Join(arr)
  6. End Sub
查看Join函数的语法结构会发现
Function Join(ByVal SourceArray() As { Object | String },Optional ByVal Delimiter As String = " ") As String
它的第一个参数SourceArray必须是元素类型为String的数组。所以任何元素类型不是String的数组都不能传递给Join函数。但是当数组的元素类型为Variant(变体)时,或者是一个Variant(变体)型包含数组的变量可以传递给Join函数的第一参数。
如以下代码所示,均可以实现元素的连接。

  1. Sub test1()
  2.     Dim arr(1) As String
  3.     arr(0) = 1
  4.     arr(1) = 2
  5.     MsgBox Join(arr)
  6. End Sub

  1. Sub test2()
  2.     Dim arr(1)
  3.     arr(0) = 1
  4.     arr(1) = 2
  5.     MsgBox Join(arr)
  6. End Sub

  1. Sub test3()
  2.     Dim arr
  3.     arr = Array(1, 2)
  4.     MsgBox Join(arr)
  5. End Sub
2楼
omnw
讲解的很精彩,要熟练掌握!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap