excel哪个版本有text join函数(Excel与数组相关的函数之join)

excel使用技巧大全在平时的工作中,大家是否会经常遇到要把几列数据合并在一起呢?那在VBA中又该如何做呢?

看下图:

excel哪个版本有text join函数(Excel与数组相关的函数之join)(1)

如上图所示,A到D列是数据区域。在这些数据区域中,可以通过输入关键字提取相关信息,并将其放置在F到I列中。

方法如下:

合并数据区域每一行的数据,当我们输入查询关键字时,我们将每一行数据与输入关键字合并在一起。假如数据里有关键字时,则会将这一行数据放置到新数组中,然后在转置后将新的组数输出到F到I列。

怎样才能将每一行的数据合并一起呢?我们需要用VBA里面的join函数。

用法:

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

excel哪个版本有text join函数(Excel与数组相关的函数之join)(2)

注意:join只能合并1维数组。

本文开头说的案例代码:

Sub 查找()

Dim hs%, i%, arr, a, sr$, arr1(), n%

sr = InputBox("请输入要查找的内容")

hs = Range("a1").CurrentRegion.Rows.Count

For 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 If

Next

[f3].Resize(n, 4) = Application.Transpose(Application.Transpose(arr1))

End Sub

arr为每一行的数据,为一个一行四列的数组(二维数组),如果想用join合并,则要将arr通过transpose转置2次变为3维数组后才能合并。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页