多表联查时使用join和不使用join_小白学数组:使用数组时经常用到的函数之join...

我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office为其服务。支持鹏哥,也为自己加油!

在工作表中,我们可以使用 “&” 来合并字符串,或者使用函数CONCATENATE来合并,在VBA中怎么合并呢?

通过下面的案例,我们来学习下在VBA中怎么进行合并字符串。

案例:

e3b35922fa4973677e01ad918da2962b.gif

如上图,A到D列是数据区域,要在这些数据区域通过输入关键字就能提取相关的信息放置到F到 I 列中。

思路如下:

先把数据区域每行数据合并在一起,当我们输入查询关键字后,就拿合并在一起的每行数据与输入的关键字比较,如果数据中包含关键字,则把该行数据放置到一个新的数组,得出新数组后通过转置后输出到F到 I 列。

如何才能把每行数据合并在一起呢?这里就要用到VBA中的join函数。

基本用法:

join(待合并的数据,"分隔符号"),第二个参数不写默认以空格分开。

32d96d77366c0d2458ed3b8a1c00fb31.png

这里要注意的是:join只能合并一维数组。

文章开始提到的查询案例代码如下:

Sub 查找()Dim hs%, i%, arr, a, sr$, arr1(), n%sr = InputBox("请输入要查找的内容")hs = Range("a1").CurrentRegion.Rows.CountFor i = 1 To hs  arr = Cells(i, 1).Resize(1, 4)  a = join(Application.Transpose(Application.Transpose(arr)))  If a Like "*" & sr & "*" Then    n = n + 1    ReDim Preserve arr1(1 To n)    arr1(n) = arr  End IfNext[f3].Resize(n, 4) = Application.Transpose(Application.Transpose(arr1))End Sub

向右滑动可以查看完整代码。

arr为每行的数据,为一个一行四列的数组(二维数组),想要用join合并,必须将arr通过transpose函数转置两次以后变为一维数组后才能合并。

知识点:

1、一维数组与二维数组的相互转化。

2、运算符like的用法。

3、InputBox函数的用法。

想要提高工作效率,请及时为自己充电!

本节的分享就到这里,鹏哥祝大家每天都有进步。

从基础操作到VBA,

两杯咖啡的钱,

换取一份如此详细的Excel视频资料,

你还在犹豫?

欲购从速,联系微信号:527240310

非诚勿扰!

每天进步一点,每天提升一点!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值