=if(g12="","",vlookup(g12,sheet2!$a2:$b45,2,0,)) 这个函数怎么用vba表述出来, 5

 我来答
jjlinjunjie0
2012-08-07 · 超过22用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:47.6万
展开全部
假设你是想H12中输入这个公式则
第一种:
sub test ()
set a=thisworkbooks.sheets.("sheet1")
set b=thisworkbooks.sheets.("sheet2")
if a.range("G12")<>"" then
for i=2 to 45
if a.range("G12")= b.cells(i,1) then
a.range("H12")=b.cells(i,2)
end if
next
end if
end sub
第二种:
sub test()
set a=thisworkbooks.sheets.("sheet1")
a.range("H12")="=if(g12="","",vlookup(g12,sheet2!$a2:$b45,2,0,)) "

end sub
追问
如果现在我有两个excel A;B,我要把A sheet1的内容完全copy B的sheet2中,该如何编写vba代码,
追答
sub test()
set a = workbooks.open(A表格的路径)
set b = workbooks.open(B表格的路径)
a.sheets("sheet1").cells.copy b.sheets("sheet2").cells(1,1)

end sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
表里如一
2012-08-07 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11635
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
Dim t As String
Dim c As Range
If Len(Range("G12").Text) = 0 Then '如果G12="",公式单元格=""
ActiveCell.Value = ""
Else
t = Range("G12").Value
Set c = Sheet2.Range("A2:A45").Find(t, , xlValues, xlWhole) '在sheet2的A2:A45搜索G12的值,精确查找
If Not c Is Nothing Then
ActiveCell.Value = c.Offset(0, 1).Value '如果找到匹配的G12,那么公式单元格返回对应的B列的结果
Else
ActiveCell.Value = "#N/A!" '找不到,就输出错误值
End If
End If
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式