关于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

请问有什么问题,请高手指教,谢谢!
展开
 我来答
低调侃大山
推荐于2017-09-22 · 家事,国事,天下事,关注所有事。
低调侃大山
采纳数:67731 获赞数:374606

向TA提问 私信TA
展开全部
  在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
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
帐号已注销
2011-02-24 · TA获得超过8613个赞
知道大有可为答主
回答量:3242
采纳率:66%
帮助的人:2869万
展开全部
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 ,的单元格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
太极健1969
2011-02-24 · TA获得超过9034个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3635万
展开全部
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)没有指定是哪个表的,会引用你按钮所在的表的单元格了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
表里如一
推荐于2017-09-21 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11638
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
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)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanghuicn
2011-02-24 · TA获得超过804个赞
知道小有建树答主
回答量:922
采纳率:82%
帮助的人:511万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式