Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6648|回复: 4

[分享] VBA中Join函数对源数组的要求

[复制链接]
发表于 2010-9-29 10:49 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2012-7-11 16:24 编辑

今天使用Join函数时,居然报错,经试验后发现,原来Join函数对其sourcearray参数的元素类型是有要求的,我理解为它支持的数组元素类型只能是字符串类型和Variant类型。
Option
   Explicit

' 1. 字符串数组可以Join
Sub JoinArrString()
    Dim arr(1 To 2) As String
    arr(1) = "1"
    arr(2) = "2"
    Debug.Print "JoinArrString:" & Join(arr, ",")
End
   Sub

' 2. Vaiant数组可以Join
Sub JoinArrVariant()
    Dim arr(1 To 2)
    arr(1) = 1
    arr(2) = 2
    Debug.Print "JoinArrVariant:" & Join(arr, ",")
End
   Sub

' 3. Vaiant(实际返回Variant元素类型数组)可以Join
Sub JoinVariant()
    Dim arr
    arr = Array(1, 2)
    Debug.Print "JoinVariant:" & Join(arr, ",")
End
   Sub

' 4. 数值型(含布尔型)数组不可以Join
Sub JoinArrLong()
    Dim arr(1 To 2) As Long
    arr(1) = 1
    arr(2) = 2
    Debug.Print "JoinArrLong:" & Join(arr, ",")
End
   Sub

[此贴子已经被作者于2010-9-29 12:46:35编辑过]

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-9-29 11:06 | 显示全部楼层
回复

使用道具 举报

发表于 2010-9-29 11:06 | 显示全部楼层

sourcearray必需的。包含被连接子字符串的一维数组。

 

帮助中提到过呀,黄色部分。

[em09]
回复

使用道具 举报

 楼主| 发表于 2010-9-29 11:10 | 显示全部楼层

QUOTE:
以下是引用爱疯在2010-9-29 11:06:00的发言:
sourcearray必需的。包含被连接子字符串的一维数组。

 

帮助中提到过呀,黄色部分。

[em09]

唉,开始没觉得这个是指必须是字符串,经你提醒后还是不觉得这是明确的指示源数组必须是字符串数组
回复

使用道具 举报

发表于 2010-9-29 11:26 | 显示全部楼层

[分享]VBA中Join函数对源数组的要求

[分享]VBA中Join函数对源数组的要求

[分享]VBA中Join函数对源数组的要求

[分享]VBA中Join函数对源数组的要求

  • Split函数:返回一个下标从零开始的一维数组,它包含指定数目的子字符串
  • Join函数:返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。

从定义上看,splict和join属于字符串函数。

从帮助的关键字小节看,splict和join不属于字符串函数,也不属于数组函数,哪一类都不属于?我个人觉得,都是帮助惹的祸

[em09]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-4 03:09 , Processed in 1.901557 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表