繁体   English   中英

Excel-使用多个工作表中的文本

[英]Excel - working with text across multiple worksheets

我有一个Excel文件,该文件使用多个工作表来汇总付款和多个属性的付款时间表。

设置它的目的是使第一张工作表是所有内容的摘要,随后的工作表详细说明不同的属性。 我有一列(仅用于描述),我想将文本带回到第一张纸上,并且如果随后的几张纸上有多个条目,请告诉我。

我知道excel不喜欢在多个工作表中使用文本,因此下面的这段代码很好地为我带来了一个条目。 它将始终位于后续工作表的同一单元格中。

=IF(COUNTA(Sheet1:Sheet5!D15)=0,"", IF(COUNTA(Sheet1:Sheet5!D15)=1, (Sheet1!D15&Sheet2!D15&Sheet3!D15&Sheet4!D15&Sheet5!D15), "--> Multiple Entries"))

但是,我遇到一种情况,我确实需要在后续工作表中放入两个相同的条目。

例如使用| 休息一下

“” | “付费1” | “” |

“付费1” | “付费1” | “” |

“” | “付费2” | “付费1” |

第2种情况很奇怪,可以有多个相同的条目,但第3种情况则需要突出显示,因为我现在有了它(->多个条目)就足够了。 现在,这两种情况都将突出显示。

我不知道从哪里真正开始,我找不到处理文本的3D参考(沿匹配线),有什么建议吗?

一如既往,在此先感谢您,我非常感谢所有帮助。

一种方法是编写返回所需字符串的UDF。 不幸的是,UDF参数不支持3D范围,因此需要解决。

根据您的问题,您想在除汇总表之外的所有表中考虑相同的单元格。 在此基础上,此UDF将在所有工作表中返回同一单元格的串联,但公式所在的工作表除外。 您可以根据需要调整它以返回其他内容。

请注意,我已简化了方法的演示,您将需要处理错误情况,例如r引用> 1单元格,或另一张工作表/工作簿上的单元格。

Function MergeSheets(r As Range) As Variant
    Dim a As String, s As String
    Dim sh As Worksheet
    Application.Volatile

    a = r.Address
    For Each sh In r.Worksheet.Parent.Worksheets
        If sh.Name <> r.Worksheet.Name Then
            s = s & sh.Range(a).Value
        End If
    Next
    MergeSheets = s
 End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM