关于VBA的Find函数
我想在SHEET1里的C1单元格显示从SHEET2的A列里的数据表查找的100的数据的右边的值PrivateSubCommandButton1_Click()WithSh...
我想在SHEET1里的C1单元格显示从SHEET2的A列里的数据表查找的100的数据的右边的值
Private Sub CommandButton1_Click()
With Sheet2.Columns("A:A")
Set c = .Find(100, LookIn:=xlValues)
Sheet1.Range("c1").Value = Cells(c.Row, 2)
End With
End Sub
请问有什么问题,请高手指教,谢谢! 展开
Private Sub CommandButton1_Click()
With Sheet2.Columns("A:A")
Set c = .Find(100, LookIn:=xlValues)
Sheet1.Range("c1").Value = Cells(c.Row, 2)
End With
End Sub
请问有什么问题,请高手指教,谢谢! 展开
5个回答
展开全部
在Excel VBA中Find函数的基本用法。Find函数就是Excel表格中的查找功能,可以通过录制宏的方法来获得Find的代码。
Sub Macro1()
Cells.Find(What:="A", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
End Sub
从上面可以看到Find函数共有8个参数,分别对应Excel表格查找里面选项的各个项目,这里我就不多说了,感兴趣可以自己试下,其中只有一个参数是必须的,那就是"What",即要找的内容。下面来看整理之后的代码
Sub Find演示()
Dim rng
Set rng = ActiveSheet.UsedRange.Find(What:="A")
'MsgBox "字母A地址为" & rng.Address(0, 0)
'MsgBox "字母A所在行为" & rng.Row
MsgBox "字母A所在列为" & rng.Column
End Sub
Sub Macro1()
Cells.Find(What:="A", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
End Sub
从上面可以看到Find函数共有8个参数,分别对应Excel表格查找里面选项的各个项目,这里我就不多说了,感兴趣可以自己试下,其中只有一个参数是必须的,那就是"What",即要找的内容。下面来看整理之后的代码
Sub Find演示()
Dim rng
Set rng = ActiveSheet.UsedRange.Find(What:="A")
'MsgBox "字母A地址为" & rng.Address(0, 0)
'MsgBox "字母A所在行为" & rng.Row
MsgBox "字母A所在列为" & rng.Column
End Sub
ZESTRON
2024-09-04 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
展开全部
Private Sub CommandButton1_Click()
With Sheet2.Columns("A:A")
Set c = .Find(100, LookIn:=xlValues, LookAt:=xlWhole)
Sheet1.Range("c1").Value = c.Offset(0, 1).Value
End With
End Sub
------
LookAt:=xlWhole 表示查找时整个单元格匹配,而不匹配1005、51008之类的数字
Offset(0, 1)表示在c的位置上,行移动0,列右移1 ,的单元格
With Sheet2.Columns("A:A")
Set c = .Find(100, LookIn:=xlValues, LookAt:=xlWhole)
Sheet1.Range("c1").Value = c.Offset(0, 1).Value
End With
End Sub
------
LookAt:=xlWhole 表示查找时整个单元格匹配,而不匹配1005、51008之类的数字
Offset(0, 1)表示在c的位置上,行移动0,列右移1 ,的单元格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub CommandButton1_Click()
Dim c As Range
With Sheet2.Columns("A:A")
Set c = .Find(100, LookIn:=xlValues)
Sheets("sheet1").Range("C1") = Sheets("sheet2").Cells(c.Row, 2)
End With
End Sub
你的代码中cells(c.row,2)没有指定是哪个表的,会引用你按钮所在的表的单元格了。
Dim c As Range
With Sheet2.Columns("A:A")
Set c = .Find(100, LookIn:=xlValues)
Sheets("sheet1").Range("C1") = Sheets("sheet2").Cells(c.Row, 2)
End With
End Sub
你的代码中cells(c.row,2)没有指定是哪个表的,会引用你按钮所在的表的单元格了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-09-21 · 知道合伙人软件行家
关注
展开全部
Sheet1.Range("c1").Value = Cells(c.Row, 2)
改成
Sheet1.Range("c1").Value = c.offset(0,1)
或者改成:
Sheet1.Range("c1").Value =Sheet2.Cells(c.Row, 2)
改成
Sheet1.Range("c1").Value = c.offset(0,1)
或者改成:
Sheet1.Range("c1").Value =Sheet2.Cells(c.Row, 2)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub CommandButton1_Click()
With Sheet2.Columns("A:A")
Set c = .Find(100, LookIn:=xlValues)
Sheet1.Range("c1").Value = .Cells(c.Row, 2)
End With
End Sub
With Sheet2.Columns("A:A")
Set c = .Find(100, LookIn:=xlValues)
Sheet1.Range("c1").Value = .Cells(c.Row, 2)
End With
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询