我不知道VBA,今天下午有一个快速的任务,我不知道该怎么办。假设我有这种格式的数据
ColA ColB ColC
'Cat A' 'SubCat B' 'Tag1 / Tag 2 / Tag 3'
我必须创建第4列,其中包含此类数据
Cat A> SubCat B> Tag1 |猫A> SubCat B> Tag2 |猫A> SubCat B> Tag3
所以这第4列基本上包含管道分隔列表,其中列表项是类别,子类和标记的串联。每个标签都有一个列表项。这是轻微的并发症
我是否必须在VBA中执行此操作或仅使用excel函数?很抱歉这么无用,但它不是我的区域,我需要一些指示:)
非常感谢
请注意我不能简单地连接列。我必须得到C列中的每个值(tag1,tag2和tag 3),然后为每个这些标记生成一个连接。然后所有这些连接都需要进入由管道分隔的同一个单元格
答案 0 :(得分:1)
通常,您可以按如下方式在Excel中与分隔符连接:
= A1& “>” 中&安培; B1& “>” 中&安培; C1 强>
答案 1 :(得分: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