0

我不知道 VBA,今天下午有一个快速任务要做,我不知道该怎么做。假设我有这种格式的数据

ColA           ColB                ColC

'Cat A'        'SubCat B'         'Tag1 / Tag 2 / Tag 3'

我必须创建一个包含这样的数据的第四列

类别 A > 子类别 B > Tag1 | 类别 A > 子类别 B > Tag2 | 类别 A > 子类别 B > 标签 3

所以这第 4 列基本上包含管道分隔列表,其中列表项是类别、子类别和标签的串联。每个标签都有一个列表项。这是轻微的并发症

我必须在 VBA 中执行此操作还是仅在 Excel 函数中执行此操作?抱歉这么没用,但它不是我的领域,我需要一些指示:)

多谢

请注意,我不能简单地连接列。我必须获取 C 列(tag1、tag2 和 tag 3)中的每个值,然后为每个标签生成一个连接。然后所有这些连接都需要进入由管道分隔的同一个单元格中

4

2 回答 2

1

通常,您可以在 Excel 中与分隔符连接,如下所示:

=A1 & ">" & B1 & ">" & C1

于 2013-10-11T13:01:23.910 回答
0

将下面列出的函数放入 VBA 模块,您可以将其用作普通的工作表函数。

= SOUser(A1, B1, C1)

VBA代码:

Public Function SOUser(ByVal ColA As String, ByVal ColB As String, ByVal ColC As String) As String

  Dim aColC() As String
  Dim iCount As Integer
  Dim sRetVal As String

  aColC = Split(ColC, "/")

  For iCount = LBound(aColC) To UBound(aColC)
    If sRetVal = "" Then
      sRetVal = ColA & " > " & ColB & " > " & aColC(iCount)
    Else
      sRetVal = sRetVal & " | " & ColA & " > " & ColB & " > " & aColC(iCount)
    End If
  Next

  SOUser = sRetVal

End Function
于 2013-10-11T13:31:53.477 回答