ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 小葵1124

[求助] 怎样用VBA填函数公式

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-6-30 22:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
一把小刀闯天下 发表于 2018-6-21 11:43
基本上是的,用了VBA代码就不要用公式了,这样修改输出位置就变得相当简单。

你为什么不跑到公式块区 ...

大神 这个文件用你那个代码怎么做啊?

问题.zip

7.75 KB, 下载次数: 20

TA的精华主题

TA的得分主题

发表于 2018-6-30 22:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个能满足你非空行要求,但估计不是你想要的结果

问题1.rar

16.86 KB, 下载次数: 27

TA的精华主题

TA的得分主题

发表于 2018-6-30 22:39 | 显示全部楼层
小葵1124 发表于 2018-6-20 10:46
我想要VBA判断出为空行,然后在空行里填入相应的公式,最后转换为数值,这个公式不是乘积,我只是为了简 ...

可以直接使用VBA代码代替vlookup函数,前提是需要知道你要根据什么内容,查找哪里的内容

TA的精华主题

TA的得分主题

发表于 2018-6-30 22:40 | 显示全部楼层
不知道为什么 发表于 2018-6-20 14:22
附件那么重要,还加密,就没必要发上来了啊

这话说得中肯,我给你点赞

TA的精华主题

TA的得分主题

发表于 2018-7-1 07:49 | 显示全部楼层
'哪壶不开提哪壶,跟你说过几次我不会公式

'我不知道这公式实现了什么功能,猜它只有一个变量,自己试一下

'满意来朵小花哈,不能光等着天上掉馅饼呀,哈哈哈

Option Explicit

Sub test()
  Dim i, arr
  With Sheets("sheet1")
    arr = .Range("e1:g" & .Cells(Rows.Count, "g").End(xlUp).Row)
    For i = 2 To UBound(arr, 1)
      If Len(arr(i, 1)) = 0 Then arr(i, 1) = "=VLOOKUP(G" & i & ",Sheet2!$A:$B,2,0)"
    Next
  End With
  [j1].Resize(UBound(arr, 1)) = arr
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-7-1 08:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
一把小刀闯天下  的代码,把公式拆分写入,不错。我刚试了下,功能是OK的。
这天上已经掉馅饼了。

TA的精华主题

TA的得分主题

发表于 2018-7-1 09:43 来自手机 | 显示全部楼层
一把小刀闯天下 发表于 2018-7-1 07:49
'哪壶不开提哪壶,跟你说过几次我不会公式

'我不知道这公式实现了什么功能,猜它只有一个变量,自己试一 ...

怎么只填计算结果,不用在单元格显示公式

TA的精华主题

TA的得分主题

发表于 2018-7-1 10:00 | 显示全部楼层
lrh788 发表于 2018-7-1 09:43
怎么只填计算结果,不用在单元格显示公式

'记得也跟你说过我不会公式,直接得出结果必须要了解这公式是干什么用的,你上来就提个冰壶来为难我

'用巨笨的方法来变通了一下,可以不用了解公式是干吗用的,只要知道它有几个可变量就行

Option Explicit

Sub test()
  Dim i, arr
  With Sheets("sheet1")
    arr = .Range("e1:g" & .Cells(Rows.Count, "g").End(xlUp).Row)
    For i = 2 To UBound(arr, 1)
      If Len(arr(i, 1)) = 0 Then arr(i, 1) = "=VLOOKUP(G" & i & ",Sheet2!$A:$B,2,0)"
    Next
    .[j1].Resize(UBound(arr, 1)) = arr
    arr = .Range("j1:j" & .Cells(Rows.Count, "j").End(xlUp).Row)
    .[j1].Resize(UBound(arr, 1)) = arr
  End With
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-7-1 10:44 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
具体情况具体分析,请把你的附件上传。
这个帖子的楼主没有说明查找的要求,仅希望填充公式。

TA的精华主题

TA的得分主题

发表于 2018-7-1 12:24 | 显示全部楼层
一把小刀闯天下 发表于 2018-7-1 10:00
'记得也跟你说过我不会公式,直接得出结果必须要了解这公式是干什么用的,你上来就提个冰壶来为难我

' ...

老师,如果我想在j和k列同时写入两个不同的公式的值,代码应该怎么变呢?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-4 12:15 , Processed in 0.024488 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表