如何用 VBA 有条件地连接某个范围?

如何用 VBA 有条件地连接某个范围?

在我的工作中,每个月末我都必须查看保存在电子表格中的数据,如图片所示。我唯一感兴趣的数据是检查 L 列的值并获取 BS 列中的数据。每个文件的列长度不同。我正在尝试创建 VBA 代码来逐行检查,如果任何列中的 L 等于 -2,则将同一行的数据与 BS 列连接起来。此字符串保存到声明为 RefExc 的变量中,该变量显示在另一页上。我查看了其他类似问题的一些答案,但找不到我需要的答案。感谢您的帮助。谢谢。

图像

答案1

像这样吗?

debug.print 将会把每次循环的结果打印到开发人员的即时窗口中。

Sub MyConcat()

Dim RefExc As String
Dim c As Range
Dim x As Long

For Each c In Sheet1.Range("L2:L10")
If c.Value = -2 Then
For x = 6 To 73
If x <> 71 Then RefExc = RefExc & ", " & Sheet1.Cells(c.Row, x)
Next x
Debug.Print RefExc
End If
Next c

End Sub

答案2

您不需要 VBA 来实现这一点。如果您需要在另一列中进行连接,则单击结果所在的单元格的第一行并输入公式:

=IF(L2=-2,BS2&L2,"")

然后按住第一个单元格的右下角并拖动到结果单元格。屏幕截图略有不同:

在此处输入图片描述

相关内容