不知道从哪一步开始 - 基本上这是我的问题。
我需要创建一个函数或宏,它可以在行中连接所有具有相同数字的值。
我在工作时使用员工名单,每个员工都有成本中心。
我需要的是能够将12510 + 13030等旁边的所有名称连接到他们自己的单元格中。
任何帮助都将不胜感激。
编辑:我已经尝试了所有简单的事情,简单地说是手动连接值。成本中心代码附加了多个人,我想将具有该成本中心编号的每个人的价值连接到类似于=Concatenate(A1, " ", B1)
等的一个销售中
答案 0 :(得分:0)
这应该可以帮到你:
Option Explicit
Sub ListCentreCostNames()
Dim empNamesRng As Range, ccRng As Range, ccCell As Range, cell As Range
Dim names As String
With Worksheets("centrecost") '<--| change "centercost" to your actual worksheet name
Set ccRng = .Range("C1", .Cells(.Rows.Count, "C").End(xlUp))
Set empNamesRng = Intersect(.Columns(2), ccRng.EntireRow)
With .UsedRange
With .Resize(1, 1).Offset(, .Columns.Count + 1)
With .Resize(ccRng.Rows.Count)
.Value = ccRng.Value
.RemoveDuplicates Array(1), Header:=xlYes
For Each ccCell In .SpecialCells(xlCellTypeConstants)
ccRng.AutoFilter field:=1, Criteria1:=ccCell.Value
If Application.WorksheetFunction.Subtotal(103, ccRng) - 1 > 0 Then
names = ""
For Each cell In empNamesRng.Offset(1).Resize(empNamesRng.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
names = names & cell.Value & " "
Next cell
End If
ccCell.Offset(, 1) = names
Next ccCell
End With
End With
End With
.AutoFilterMode = False
End With
End Sub