cells.find(cellsfind)
excel中cells.find VBA程序如何编程。
插入一个模块粘贴以下代码
Sub SS()
Dim MyFile, MyPath As String
Dim rng As Range
istr = ThisWorkbook.Sheets("sheet1").Range("A1").Value
MyPath = "C:\"
arr = Split("456.xls,789.xls", ",")
n = 0
Do
On Error Resume Next
MyFile = arr(n)
Workbooks.Open (MyPath "\" MyFile)
Set rng = Workbooks(MyFile).Sheets("sheet1").UsedRange.Find(istr)
If Not rng Is Nothing Then
ThisWorkbook.Sheets("sheet1").Rows(2).Value = Workbooks(MyFile).Sheets("sheet1").Rows(rng.Row).Value
Workbooks(MyFile).Close
Exit Sub
End If
Workbooks(MyFile).Close
n = n + 1
Loop While n = 1
MsgBox "Nothing"
End Sub
C#中打开了一个EXcel对象,怎样通过cells.find方法来获取表格中存在数据区域的位置?还
Cells.Find(What:="想查找的数据", After:=ActiveCell, LookIn:=xlValues, LookAt:= xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= False).Activate
Find 方法
在区域内查找特定信息,并返回Range对象,该对象代表所找到的第一个包含所查找信息的单元格。如果未发现匹配单元格,就返回 Nothing。本方法不影响选定区域或活动单元格。
关于在Visual Basic中使用Find工作表函数的详细内容,请参阅在Visual Basic中使用Microsoft Excel工作表函数。
语法
expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte)
expression 必选。该表达式返回 Range 对象。
What Variant类型,必选。要查找的数据。可为字符串或任意Microsoft Excel数据类型。
After Variant类型,可选。表示查找过程将从其之后开始进行的单元格。此单元格对应于从用户界面查找时的活动单元格位置。注意After必须是查找区域中的单个单元格。请记住查找是从该单元格之后开始的;直到本方法环绕到此单元格时,才检测其内容。如果未指定本参数,查找将从区域的左上角单元格之后开始。
LookIn Variant类型,可选。可为下列XlFindLookIn常量之一:xlFormulas、xlValues或xlComments。
LookAt Variant类型,可选。可为下列XlLookAt常量之一:xlPart或xlWhole。
SearchOrder Variant类型,可选。可为下列XlSearchOrder常量之一:xlByColumns或xlByRows。
SearchDirection Variant类型,可选。可为下列XlSearchDirection常量之一:xlNext或xlPrevious。默认常量为xlNext。
MatchCase Variant类型,可选。若指定为True,就进行区分大小写的查找。默认值为False。
MatchByte Variant类型,可选。仅在选择或安装了双字节语言支持时使用。若指定为True,就使双字节字符仅匹配双字节字符。若指定为False,则双字节字符可匹配其等价的单字节字符。
说明
每次调用本方法后,参数LookIn、LookAt、SearchOrder和MatchByte的设置将保存。如果下一次调用时未指定这些参数,将使用保存的设置。设置这些参数将改变“查找”对话框中的设定,而在“查找”对话框中修改相应设定,也将改变忽略这些参数时所使用的保存值。为避免出现麻烦,每次调用本方法时,请显式指定这些参数的值。
参考:
EXCEL VBA的Cells.Find(What:="想查找的数据",如何把想查找的数据用变量表示?
查找的字符是会自动保存的,调用它就行,你的意思是
dim FindData as string
finddata = "查找"
range("A1:A8").find(finddata)
VBA 用Find 寻找关键词所在的行并将此行剪切到其他Sheet中
有几个问题
1、Range("I;I")?这个地方要用?:
2、Range("I:I").Find("天津",?LookIn:=xlValues)??是会报错的
正确的用法是
set?rng=sheet1.Range("I:I")
rng.Find("天津",?LookIn:=xlValues)
或者
在整个表里面查找
sheet1.cells.Find("天津",?LookIn:=xlValues)
3.查找以后要判断有没有找到,?如果没找到也会报错
要加判断语句
If?Not?findcell?Is?Nothing?Then
4、?对哪个表操作就?直接?sheet1.?后面加其他属性就可以了??不需要老用select?,
Sub?测试()
Dim?findcell?As?Range
Dim?fr%
Set?findcell?=?Sheet1.Cells.Find("天津")
If?Not?findcell?Is?Nothing?Then
fr?=?findcell.Row
findcell.EntireRow.Cut?Sheet2.Cells(fr,?1)
findcell.EntireRow.Delete
Else
MsgBox?"没查到相关内容"
End?If
End?Sub
用程序啊vba Cells.Find(What:="1", After:=ActiveCell).Activate 具体怎么操作呢? VBA也在EXCEL里使用?
Cells.Find(What:="1", After:=ActiveCell).Activate
这句的意思是查找包含1的单元格,并跳转到此单元格
Excel使用宏调用单元格对应右边的数值
'1.找到“合计”所在的单元格:
set?Rng=Range("A9:A20").Find("合计")???????'Range前用Workbook、WorkSheet约束,
'比如:?Workbooks(MyFile).Sheets(1).("A9:A20").Find("合计")
'2.合计后面对应的C列单元格可以用Offset得到
Rng.Offset(0,2)
'或Cells(Rng.Row,?3)等方式引用