如果相邻单元格符合条件,则复制单元格内容

乔恩0311

我有一系列由 7 列和不同行数组成的矩阵。我想要矩阵2 列中的公司名称,如果第 4 列中的相应数据是“CM”聚合到每个矩阵的一个单元格中(假设所有不同的矩阵为 B3:B98),不同名称之间有一个空格. 请参阅下图以了解矩阵的外观示例示例图像

最终结果是,如果 G 列中同一行的单元格是“CM”,则 E 列中的所有公司名称都将在 B3 中聚合,下一个矩阵从 B4 中的 M 列开始,依此类推。

我在让我的 if 语句识别单元格内容中的“CM”或使用 Join 语句聚合结果方面取得了零成功。任何帮助深表感谢。

编辑:目标是将特定证券的所有承销商汇总在一个单元格中,以便可以在表格的另一部分轻松搜索该单元格以查找特定承销商的存在。

正如您所看到的,下面的代码不起作用。我撞到了一堵墙,因为我无法区分包含“CM”的单元格和不包含“CM”的单元格。(我知道下面的代码不会在任何单元格中聚合结果,只会将结果复制到 B 列中,正如我所说,这是一项已停止的正在进行的工作。)

Dim Ws5 As Worksheet:       Set Ws5 = Worksheets(5)

'turn off some Excel functionality so code runs faster
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False

'Compiles the managers in the matrices into a column on the MgrMatrix sheet to be used
'for the entry sheet column of underwriters.
Dim CoL As Range:     Set CoL = Ws5.Range("D3:K104")
Dim CeL As Range

For Each CeL In CoL.Columns(4)
    If CeL.Text = "CM" Then
        CeL.Offset(0, -5) = "CM"
    Else
        CeL.Offset(0, -5) = CeL.Offset(0, -2).Value
    End If
Next

编辑:使用 urdearboy 的代码,我将其修改为按以下方式在同一张表上处理多个矩阵。这个版本没有他那样的技巧,因为这个版本依赖于包含相同列数且不超过 100 行的所有矩阵。

For i = 7 To 857 Step 9
For y = 3 To 100
    If Cells(y, i) = "CM" Then
        s = s & Cells(y, i).Offset(0, -1).Value & " "
    End If
Next y

If s = "" Then
    s = "Sole Lead"
End If
Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = Trim(s)
s = ""

Next i
亲爱的男孩

将代码粘贴VBE到其中Sheet 5(或您想在其上运行的任何工作表)。

字符串 ,s将在循环检查“CM”匹配的列时自行构建。

按原样,代码将在添加的每个新值之间添加逗号like, so, and, so,,然后在显示最终字符串之前删除末尾的最后一个逗号like, so, and, so

Option Explicit

Sub TextCM()

Dim i As Long, s As String

For i = 3 To Range("G" & Rows.Count).End(xlUp).Row
    If Range("G" & i) = "CM" Then
        s = s & Range("E" & i).Value & ", "     'Remove & ", " if you do not want the comma + space
    End If
Next i

Range("B2") = Left(s, Len(s) - 2)               'Change to Range("B2") = s to not delete last character in string

End Sub

您应该能够弄清楚如何将其扩展到多个表(矩阵?)没问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

双击复制相邻单元格的内容

来自分类Dev

Excel VBA-如果单元格值满足条件,则在工作表之间复制单元格

来自分类Dev

在不同的工作簿之间复制单元格内容

来自分类Dev

Excel VBA:复制单元格内容

来自分类Dev

在不同的工作簿之间复制单元格内容

来自分类Dev

如果值等于1,则复制单元格数组

来自分类Dev

如果单元格与列名匹配,则在一行中复制单元格

来自分类Dev

如果左侧的单元格为空,则从上方复制单元格(arrayformula)

来自分类Dev

Excel VBA复制单元格值,如果> 0到左侧的单元格

来自分类Dev

VBA在满足条件时复制单元格

来自分类Dev

为符合条件的非相邻单元格上色

来自分类Dev

循环和复制单元格

来自分类Dev

如果单元格符合条件,则将结果相乘并求和

来自分类Dev

删除相邻的单元格(如果重复)?

来自分类Dev

如果单元格只有空白,如何从另一张工作表复制单元格

来自分类Dev

根据条件复制单元格并通过覆盖其他工作表中的单元格进行粘贴

来自分类Dev

复制单元格1的元素以匹配单元格2的长度

来自分类Dev

计数相邻单元格

来自分类Dev

矩阵的相邻单元格

来自分类Dev

删除行(基于条件)并复制单元格(基于条件)

来自分类Dev

通过VBA在Excel中复制单元格公式

来自分类Dev

VBA,自动填充系列,而不是复制单元格

来自分类Dev

VBA-复制单元格区域(随机行)

来自分类Dev

Excel公式或VBA复制单元格删除空格?

来自分类Dev

Excel表查找和复制单元格值

来自分类Dev

查找并复制单元格中的某些值

来自分类Dev

搜索工作表并复制单元格值

来自分类Dev

vlookup复制单元格的颜色-返回错误的格式

来自分类Dev

Microsoft Excel,复制单元格的格式

Related 相关文章

  1. 1

    双击复制相邻单元格的内容

  2. 2

    Excel VBA-如果单元格值满足条件,则在工作表之间复制单元格

  3. 3

    在不同的工作簿之间复制单元格内容

  4. 4

    Excel VBA:复制单元格内容

  5. 5

    在不同的工作簿之间复制单元格内容

  6. 6

    如果值等于1,则复制单元格数组

  7. 7

    如果单元格与列名匹配,则在一行中复制单元格

  8. 8

    如果左侧的单元格为空,则从上方复制单元格(arrayformula)

  9. 9

    Excel VBA复制单元格值,如果> 0到左侧的单元格

  10. 10

    VBA在满足条件时复制单元格

  11. 11

    为符合条件的非相邻单元格上色

  12. 12

    循环和复制单元格

  13. 13

    如果单元格符合条件,则将结果相乘并求和

  14. 14

    删除相邻的单元格(如果重复)?

  15. 15

    如果单元格只有空白,如何从另一张工作表复制单元格

  16. 16

    根据条件复制单元格并通过覆盖其他工作表中的单元格进行粘贴

  17. 17

    复制单元格1的元素以匹配单元格2的长度

  18. 18

    计数相邻单元格

  19. 19

    矩阵的相邻单元格

  20. 20

    删除行(基于条件)并复制单元格(基于条件)

  21. 21

    通过VBA在Excel中复制单元格公式

  22. 22

    VBA,自动填充系列,而不是复制单元格

  23. 23

    VBA-复制单元格区域(随机行)

  24. 24

    Excel公式或VBA复制单元格删除空格?

  25. 25

    Excel表查找和复制单元格值

  26. 26

    查找并复制单元格中的某些值

  27. 27

    搜索工作表并复制单元格值

  28. 28

    vlookup复制单元格的颜色-返回错误的格式

  29. 29

    Microsoft Excel,复制单元格的格式

热门标签

归档