VBA中查找指定字符串的问题

我想在sheet1工作表F列查找关键字(或者字符串),要求关键字为外部输入,就是用inputbox;如果F列某行含有该关键字,则将该行整行内容复制到sheet2相应的行。如果F列都不含关键字,那么输出提示“请输入有效的关键字”,结束;如果输入的关键字为空或者在inputbox弹出窗口取消输入,那么提示“请输入关键字”,然后结束。

'VBA 方法如下:
'在所在页内(sheet1)加个按钮,指定 Macro1
Private Sub CommandButton1_Click()
Macro1
End Sub

'模块下 Macro1 代码如下:
Sub Macro1()
For i = 1 To 65535
If Len(ActiveSheet.Cells(i, 6).Value) = 0 Then
Exit For
End If
Next i
N = i - 1 ' ******* N 为F列内元素的个数
Sheets("Sheet2").Select
Cells.Select
Selection.Delete Shift:=xlUp
Sheets("Sheet2").Range("F1").Select
Sheets("Sheet1").Select
M = 0
AA = "1"
BB = InputBox("请在下面的对话框内输入关键字", "关键字输入对话框", AA)
If Len(Trim(BB)) = 0 Then
MsgBox "请输入关键字 !", vbCritical, "SIR007_001提示"
Exit Sub
Else
For J = 1 To N
Sheets("Sheet1").Cells(J, 6).Select
'MsgBox Sheets("Sheet1").Cells(J, 6)
If CStr(Sheets("Sheet1").Cells(J, 6).Value) = CStr(BB) Then
CC = J & ":" & J
DD = "A" & J
Sheets("Sheet1").Rows(CC).Select
Selection.Copy
Sheets("Sheet2").Select
Sheets("Sheet2").Range(DD).Select
ActiveSheet.Paste
Range(DD).Select
Sheets("Sheet1").Select
Sheets("Sheet1").Cells(J, 6).Select
Application.CutCopyMode = False
M = M + 1
End If
Next J
Sheets("Sheet1").Cells(1, 6).Select
If M = 0 Then
MsgBox "请输入有效的关键字 ! ", vbExclamation, "SIR007_001提示"
Else
MsgBox "操作完成!本次共发现 " & M & " 个满足要求,并已经复制到“sheet2”相同位置!", vbInformation, "SIR007_001提示"
End If
End If
End Sub
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网