Arrays 宏读取一个工作表中的单元格,然后在另一个工作表中搜索匹配项并将日期添加到列
我正在尝试编写一个excel宏,它将向下搜索一列文本,然后在同一工作簿的另一个电子表格中搜索该列中的每个项目。当找到该值时,它应该将todays date放在特定的列中,例如H列。我发现一些代码将执行第一部分,另一段代码将执行第二部分。我只是没有编码的知识来将两者结合起来并使其工作。下面显示了这两段代码Arrays 宏读取一个工作表中的单元格,然后在另一个工作表中搜索匹配项并将日期添加到列,arrays,excel,vba,Arrays,Excel,Vba,我正在尝试编写一个excel宏,它将向下搜索一列文本,然后在同一工作簿的另一个电子表格中搜索该列中的每个项目。当找到该值时,它应该将todays date放在特定的列中,例如H列。我发现一些代码将执行第一部分,另一段代码将执行第二部分。我只是没有编码的知识来将两者结合起来并使其工作。下面显示了这两段代码 Sub From_sheet_make_array() Dim myarray As Variant Dim cells As Range Dim cl myar
Sub From_sheet_make_array()
Dim myarray As Variant
Dim cells As Range
Dim cl
myarray = Range("a1:a10").Value
Set cells = Worksheets("Sheet2").Columns(1).cells
Set cl = cells.cells(1)
Do
If IsError(Application.Match(cl.Value, myarray, False)) Then
Exit Sub
Else:
i = i + 1
'This shows each item in column in messagebox
'Need to pass this value to other code somehow
MsgBox (cl.Value)
End If
设置cl=cl.Offset(1,0)
非空时循环(cl.Value)
端接头
Sub Searchlist()
Dim c As Range
With ActiveWorkbook.Sheets("Sheet1")
' This will search for whatever is in ""
' Somehow need to get cl.Value (myarray) in here
Set c = .Columns("A").Find(What:="text", _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=True)
c.Offset(0, 8).Value = Date
End With
Exit Sub
端接头
Sub Searchlist()
Dim c As Range
With ActiveWorkbook.Sheets("Sheet1")
' This will search for whatever is in ""
' Somehow need to get cl.Value (myarray) in here
Set c = .Columns("A").Find(What:="text", _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=True)
c.Offset(0, 8).Value = Date
End With
Exit Sub
如果有人能把它们缝合在一起,或者给我指出正确的方向,那真的能帮我解决问题。我可能会走得很远,因为我对这件事还很陌生。感谢您提供的帮助。据我所知,您正在检查其他工作表中是否有今天的条目,如果有,请在当前工作表中添加日期戳。 试试这个:(让我知道它是否有效!)
Sub-datestampifound()
暗淡单元格作为范围
变暗温度范围
对于工作表中的每个单元格(“包含搜索条件的工作表”).UsedRange.Columns(“指定列”).Cells
'所以您不会搜索空格并跳过标题行
如果单元格“”和cell.row1,则
设置temp=Sheets(“工作表”,您希望在其中查找内容”)。列(“指定列”)。查找(What:=cell.Value_
LookIn:=xl公式,LookAt:=xlPart_
搜索顺序:=xlByRows_
SearchDirection:=xlNext,MatchCase:=True)
"如果被发现,
如果不是,那就什么都不是了
'如果搜索条件在同一工作表中
单元格偏移量(0,从单元格偏移的列数)=日期
如果结束
如果结束
下一个
末端接头你好,德里克。谢谢你的回复。当我运行宏时,行-If cell“”上出现运行时错误“13”类型不匹配。如果我注释掉这一行,则宏运行正常。但是,它会在包含搜索条件的表单上加盖日期戳(正如您在评论中所说的)。如何在工作表中找到要查找的日期戳?您好,我的错误是,我忘了在for行的“Columns”(“Specify_the_column”)后面加“.Cells”。我已经更新了我的代码,请再试一次。如果您希望在找到的单元格旁边添加日期戳,而不是“cell.Offset(0,列数\u Offset\u from\u cell)=date”您可以尝试“temp.Offset(…)”,非常感谢您对Derek的帮助。它现在工作得很好。非常感谢。
Sub Searchlist()
Dim c As Range
With ActiveWorkbook.Sheets("Sheet1")
' This will search for whatever is in ""
' Somehow need to get cl.Value (myarray) in here
Set c = .Columns("A").Find(What:="text", _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=True)
c.Offset(0, 8).Value = Date
End With
Exit Sub