gpt4 book ai didi

vba - 我可以在 Excel VBA 中将一列转置为带空格的行吗?

转载 作者:行者123 更新时间:2023-12-04 21:55:51 27 4
gpt4 key购买 nike

我目前有一个 excel 项目,我用它来整理大部分数据,以便将这些数据导入特定的程序。我目前在一个模块中使用这部分代码,并在我的其他模块中的其他地方调用它。

Sub CopyTransposed(rngSource As Range, rngTargetCell As Range)

rngTargetCell.Resize(rngSource.Columns.Count, rngSource.Rows.Count).Value = _

Application.WorksheetFunction.Transpose(rngSource)

End Sub
-------------------------------------------------------------------------------------------
Sub Trans()

CopyTransposed [A1:A4], [C1]

End Sub

现在我只需要弄清楚如何在每个单元格之间添加空格。所以 A1 复制到 C1,A2 复制到 C3,依此类推。

谢谢

最佳答案

用双分隔符加入它们,然后拆分为一个。

Sub CopyTransposed(rngSource As Range, rngTargetCell As Range)

Dim str As String, vals As Variant
str = Join(Application.Transpose(rngSource), "||")
vals = Split(str, "|")

rngTargetCell.Resize(1, UBound(vals) + 1) = vals

End Sub

Sub Trans()

CopyTransposed [A1:A4], [C1]

End Sub

不确定您是否总是需要将行转换为列,但您可以使用相同的列转换为行,并使用 If 语句判断是否 rngSource.Columns.Count > rngSource.Rows.Count。

关于vba - 我可以在 Excel VBA 中将一列转置为带空格的行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45068300/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com