繁体   English   中英

从工作表中的不同单元格中选择数据

[英]Data picking from different cells within sheet

我目前正在处理仓库数据表,并希望从中获取信息。 我需要有关公式或VBA代码的帮助。

           A          B              C
Row 1 - product - batch number - expiry date

这些是工作表中多个中的3列,但是重点是它们。 我正在尝试查找公式或VBA代码以允许我执行以下操作:

“蛋糕”一词用作产品参考。

如果产品列中的某个单元格的值为“ cake”,则从到期日期列返回该单元格的值,该列与找到的初始单元格在同一行。

重复此过程,但跳过先前找到的单元格。

目前,我尝试了以下公式:

=IF(A:A="Cake",C1,"")

这是我开始的,之后没有任何线索。 无论我在Google中搜索什么内容,都无法根据自己的需要进行调整。 我也尝试过Vlookup。

对我来说,这似乎需要一个VBA代码,该代码可以循环执行并自动为我返回值。

我知道我的尝试是可悲的,但是我已经在线搜索了2天,没有任何进展。 你能建议点什么吗? 谢谢

我希望从所有输入表中得到一个单独的表,以收集产品列表,其批号和与之相关的到期日期,以应用条件格式,如果某批产品即将到期,则会发出警告。

在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

这可能需要一些调整才能适合您的文件,如果您有后续问题,请告诉我。

暂无
暂无

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

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