我有第二行中有一年中某些日子的工作表,我想搜索此范围并通过输入框查找日期,然后使用所选日期遍历该列以查找具有特定字母的所有单元格它(例如“E”),然后在A列中取相应的名称并将其复制到另一张表格中,在新表格中创建一个名单列表。
我有通过输入框选择日期的代码,但效果很好,但我对其余部分有困难。
Sub Worksheet_Find()
Dim strdate As String
Dim rCell As Range
Dim lReply As Long
strdate = Application.InputBox(Prompt:="Enter a Date to Locate on This Worksheet", _
Title:="DATE FIND", Default:=Format(Date, "Short Date"), Type:=1)
If strdate = "False" Then Exit Sub
strdate = Format(strdate, "Short Date")
On Error Resume Next
Set rCell = Cells.Find(What:=CDate(strdate), After:=Range("A1"), LookIn:=xlFormulas _
, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
rCell.Select
On Error GoTo 0
If rCell Is Nothing Then
lReply = MsgBox("Date cannot be found. Try Again", vbYesNo)
If lReply = vbYes Then Run "FindDate":
End If
End Sub
非常感谢任何帮助。
wingnut74
答案 0 :(得分:0)
我希望你做一个简单的Do While循环:
Do While Len(Sheets("SheetName").Cells(i, rCell.collumn).value)>0
'do your if condition here... (if Sheets("SheetName").Cells(i, rCell.collumn).value Like "*E*" or use Instr() function
i=i+1
Loop
类似的东西......如果你不确定如何使用循环,请在一些教程中查看