我目前正在处理仓库数据表,并希望从中获取信息。我需要有关公式或VBA代码的帮助。
A B C
Row 1 - product - batch number - expiry date
这些是工作表中多个中的3列,但是重点是它们。我正在尝试查找公式或VBA代码以允许我执行以下操作:
“蛋糕”一词用作产品参考。
如果“产品”列中的某个单元格的值为“ cake”,请从“失效日期”列返回该单元格的值,该列与找到的初始单元格在同一行。
重复此过程,但跳过先前找到的单元格。
当前,我尝试了以下公式:
=IF(A:A="Cake",C1,"")
这是我开始的目的,之后没有任何线索。无论我在Google中搜索什么内容,都无法根据自己的需要进行调整。我也尝试过Vlookup。
在我看来,我似乎需要一个VBA代码,该代码可以循环执行并自动为我返回值。
我知道我的尝试是可悲的,但是我已经在线搜索了2天,没有任何进展。你能建议点什么吗?谢谢
我希望从所有输入表中得到一个单独的表,以收集产品列表,其批号和与之相关的到期日期,以应用条件格式,如果一批将要过期则发出警告
答案 0 :(得分:1)
这在VBA中相对容易做到:
Sub returnExpirydates()
Dim strInput As String
Dim lngCount As Long, lngRow As Long
Dim wsInput As Worksheet, wsOutput As Worksheet
strInput = InputBox("Please enter the desired product.")
lngCount = 2
lngRow = 2
Set wsInput = Sheets("YourInputSheetName")
Set wsOutput = Sheets("YourOutputSheetName")
wsOutput.Cells.Clear
wsOutput.Rows(1).Value = wsInput.Rows(1).Value
Do While wsInput.Cells(lngCount, 1).Value <> ""
If Cells(lngCount, 1).Value = strInput Then
wsOutput.Rows(lngRow).Value = wsInput.Rows(lngCount).Value
lngRow = lngRow + 1
End If
lngCount = lngCount + 1
Loop
End Sub
这可能需要一些调整才能适合您的文件,如果您有后续问题,请告诉我。