簡體   English   中英

IF語句基於引用填充單元格

[英]IF Statement to Fill a Cell based on a Reference

這是一個非常奇怪的要求:

我想用VBA宏或IF語句讀取引用從何處提取,並填充另一個顯示該單元格被引用位置的單元格。

這是具有數百個測量值的零件的檢查清單,並且數據是從大約7個不同的電子表格中提取的。 規范要求每個值都有檢查方法。 我知道我可以單獨執行此操作,但是,當然,這些單元格引用的是另一個單元格,該單元格將為每個單元格使用自定義的IF語句,並且該語句不會在任何時間中斷。 我正在嘗試采用這種說法,並將其應用於其他幾十個電子表格,否則手動輸入不會太糟糕。

例如:如果該單元格引用了Hard Gauge工作簿中的一個值,我希望它右邊的單元格顯示為“ Hard Gauge”,如果該單元格引用了Height Gauge值,我希望該單元格指向右邊顯示“ Height 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語句, VBA宏就可以正常工作。

如果確實包含.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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM