Vba Excel公式,用于键入同一行中绿色单元格的数值

Vba Excel公式,用于键入同一行中绿色单元格的数值,vba,excel,excel-formula,excel-udf,Vba,Excel,Excel Formula,Excel Udf,在excel VBA中输入公式时,我需要一些帮助。我假设在不同的列中输入某个高亮显示颜色(本例中为绿色)的所有数字,但这些数字在列范围内的同一行中 为了让事情更清楚,我上传了上面的图片。图中的表格在最右边的栏中显示了我想要的结果。我也希望它如果可能显示两个或更多相同颜色的单元格值 绿色详细信息: 任何帮助都将不胜感激,如有任何疑问,请向我咨询。多谢各位 编辑:如果可能的话,我可以得到一个代码,在单独的列中显示两个或多个绿色单元格值,而不是与+符号一起显示吗?您的数据似乎在Excel表格中 假设

在excel VBA中输入公式时,我需要一些帮助。我假设在不同的列中输入某个高亮显示颜色(本例中为绿色)的所有数字,但这些数字在列范围内的同一行中

为了让事情更清楚,我上传了上面的图片。图中的表格在最右边的栏中显示了我想要的结果。我也希望它如果可能显示两个或更多相同颜色的单元格值

绿色详细信息:

任何帮助都将不胜感激,如有任何疑问,请向我咨询。多谢各位


编辑:如果可能的话,我可以得到一个代码,在单独的列中显示两个或多个绿色单元格值,而不是与+符号一起显示吗?

您的数据似乎在Excel表格中

假设是这样,并且表名为“MyTable”,您可以尝试以下代码:

Option Explicit

Sub main()
    Dim row As ListRow
    Dim icol As Long
    Dim formula As String

    For Each row In ActiveSheet.ListObjects("MyTable").ListRows
        formula = ""
        For icol = 1 To row.Range.Count - 1
            With row.Range(1, icol)
                If .Interior.Color = RGB(0, 176, 80) Then formula = formula & .value & "+" '.Address(False, False)
            End With
        Next icol
        If formula <> "" Then row.Range(1, icol).value = Left(formula, Len(formula) - 1)
    Next row
End Sub
选项显式
副标题()
将行变暗为ListRow
如长
作为字符串的Dim公式
对于ActiveSheet.ListObjects(“MyTable”).ListRows中的每一行
公式=“”
对于icol=1到row.Range.Count-1
具有行范围(1,icol)
如果.Interior.Color=RGB(0,176,80),则公式=公式和.value&“+”。地址(False,False)
以
下一个icol
如果是公式“”,则行范围(1,icol).value=Left(公式,Len(公式)-1)
下一排
端接头

很抱歉,我不是excel专家,但我应该将其作为宏运行吗?在所选单元格上运行宏时,它不起作用。请告知。谢谢,“它不工作”是什么意思?请说明您是如何尝试使用此代码的,并指定发生了什么(什么错误消息,引用什么…)我添加了一个新列,并在该列的最顶部单元格运行宏,该列左侧的绿色突出显示单元格。运行宏后不会发生任何事情。没有错误消息或类似的信息。我确实在“设计表”选项卡下将我的表重命名为“MyTable”。您在哪里添加了新列?“在该列的最顶端单元格运行宏”是什么意思?高亮显示的单元格是否用RGB(0、176、80)着色?运行宏时,活动工作表是相关表所在的工作表。在“添加新列”之前和之后,您可能希望添加实际表的图像!我很抱歉给您带来麻烦。我在用阿拉伯语从右到左排列的桌子上工作,它什么也没显示。当我把它转换成英语时,它就像一种魅力。非常感谢你,我的朋友。