IF语句根据参考填充单元格

这是一个非常奇怪的要求:

我想要一个VBAmacros或一个IF语句来读取从哪里引用,并填充另一个单元格显示单元格被引用。

这是一个包含数百次测量的零件的检查清单,数据来自大约7个不同的电子表格。 规范要求每个值都有一个检查方法。 我意识到我可以单独做,但是,当然,单元格引用了一个不同的单元格,每个单元格都会为每个单元格定制IF语句,而这个语句在任何时候都不会减less。 我试图把这个声明应用到几十个其他的电子表格中,或者手动input不会太糟糕。

例如:如果单元格引用Hard Gauge工作簿中的某个值,我希望单元格右侧的单元格读取“Hard Gauge”,如果单元格引用了Gauge Gauge值,则希望单元格阅读“高度表”的权利。

就像是:

IF({File Path}[40452-1016 REV. A **(HEIGHT GAGE)**.xlsm] = TRUE, "HEIGHT GAUGE", IF({File Path}[40452-1016 REV. A **(HARD GAGE)**.xlsm] = TRUE, "HARD GAUGE",,)) 

我知道这个问题将忽略“ .xlsm ”之后出现的单元格值,

 {File Path}[40452-1016 REV. A (HEIGHT GAGE).xlsm]**'!$C$29** 

有人可以帮助我,或者让我知道,如果这是一种可能性。 它不一定是从IF语句, VBAmacros将工作得很好。

如果确实string包含.xlsm,这会给你.xlsm左边的所有东西。 这应该是一个很好的起点

 Sub t() Dim endrow As Long Dim column As String Dim a As Range column = "A" endrow = ActiveSheet.Range(column & Rows.Count).End(xlUp).Row For Each a In Range(column & endrow) If InStr(1, a.Value, ".xlsm", vbTextCompare) > 0 Then a.Offset(0, 1).Value = Left(a.Value, InStr(1, a.Value, ".xlsm", vbTextCompare)) End If Next a End Sub