ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1957|回复: 7

[求助] VBA智能填充公式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-8-13 12:46 | 显示全部楼层 |阅读模式
2-10表是固定模板的对账单还会继续增加,格式固定但是账单的行数不固定,现在要求:在每个账单表的I列也就是“备注”列有账单内容的行自动填充公式“=IF(F9<>H9,"错","")”请问要如何用VBA一键智能生成呢?
难点:
1.VBA代码要先判断账单的实际内容行,只需要填充有账单内容对应的I列;
2.对应的I列填入上面的公式
3.在汇总表的“应付”列自动录入当日的汇总金额

智能对账2016.zip (10.81 KB, 下载次数: 9)
非常感谢您的帮忙!!!

TA的精华主题

TA的得分主题

发表于 2016-8-13 14:49 | 显示全部楼层
Sub zz()
    Dim d, sh As Worksheet
    Set d = CreateObject("Scripting.Dictionary")
    For Each sh In Sheets
        If sh.Name <> "汇总" Then
            With sh
                d(Val(.Name)) = .[f65536].End(3)
                For i = 9 To .[b65536].End(3).Row
                    .Cells(i, 9) = "=IF(F" & i & "<>H" & i & ",""错"","""")"
                Next
            End With
        End If
    Next
    With Sheet1
        For i = 5 To .[b65536].End(3).Row
            .Cells(i, 3) = d(Day(.Cells(i, 2).Value))
        Next
    End With
End Sub


TA的精华主题

TA的得分主题

发表于 2016-8-13 14:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
>>>>>>>>>>>>>>>>>>>>


智能对账2016.rar (15.31 KB, 下载次数: 41)




评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-13 17:09 | 显示全部楼层
把公司换乘vlookup函数 .Cells(i,8)="=VLOOKUP(C"&i&",[业务.xls]货运!$J$1:$Y$1390,16,0)",这样但是说明语法错误,需要怎样修正呢?

TA的精华主题

TA的得分主题

发表于 2016-8-13 20:47 | 显示全部楼层
本帖最后由 zax010 于 2016-8-13 20:50 编辑
任我逍遥 发表于 2016-8-13 17:09
把公司换乘vlookup函数 .Cells(i,8)="=VLOOKUP(C"&i&",[业务.xls]货运!$J$1:$Y$1390,16,0)",这样但是说明 ...


Cells(i, 8) = "=VLOOKUP(C" & i & ",[业务.xls]货运!$J$1:$Y$1390,16,0)"
连接符 & 前后均应有空格。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-14 16:32 | 显示全部楼层
代码运行过程中老是不断弹出这个界面,怎样加代码设置取消这个提醒呢?

TA的精华主题

TA的得分主题

发表于 2016-8-15 12:19 | 显示全部楼层
任我逍遥 发表于 2016-8-14 16:32
代码运行过程中老是不断弹出这个界面,怎样加代码设置取消这个提醒呢?

代码前部加
Application.AskToUpdateLinks = False
结束前加
Application.AskToUpdateLinks = True



评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-8-16 12:52 | 显示全部楼层
你这么厉害,可以再加个更负责的要求不?就是在代码运行结束后自动在工作簿下生成一张新表,表中列出所有表格中I列内容是“错”的行,甚至增加一个判断可以选择只列出哪些表格中的含有“错”的行,就更加完美了^_^,听起来就很复杂
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-26 00:06 , Processed in 0.037590 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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