ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

不懂VBA也编程

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2008-11-22 08:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖已被收录到知识树中,索引项:数据类型和基本语句
山版的教程都是通俗易懂,但又不失深度。

TA的精华主题

TA的得分主题

发表于 2008-11-22 11:43 | 显示全部楼层
山菊花老师的代码极其简洁高效,在下佩服得五体投地.仰君如仰高山之雄伟,望君如望黄河之滔滔.

TA的精华主题

TA的得分主题

发表于 2008-11-22 12:48 | 显示全部楼层
再请教山菊花老师了,我把此代码贴到thisworkbook下了,但实际上没作用是否sh需要在动点什么手脚吗?因为我先把计算设为手动计算,之后切换至各表公式用托拉的方式,但并没有自动计算出来,不知那里出了问题!
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sh.EnableCalculation = False
Sh.EnableCalculation = True
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Sh.EnableCalculation = False
End Sub

每个工作表激活一次(为了设EnableCalculation = False)。
重算模式设为自动重算。
(已更新附件,增加自动设置EnableCalculation的代码)
请继续测试。
——山菊花

TA的精华主题

TA的得分主题

发表于 2008-11-22 13:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

如何取得a列中第i个值和a列中的非空单元格数量

Private Sub CommandButton1_Click()
n如何取a列中的非空单元格数量
    For i = 1 To n
    [N6] =取a列中第i个值
    Me.PrintOut
    Next
End Sub

请测试。
——山菊花
Private Sub CommandButton1_Click()
    n = Range("a65536").End(xlUp).Row
    For i = 1 To n
    [N6] = i
    Me.PrintOut
    Next
End Sub

TA的精华主题

TA的得分主题

发表于 2008-11-22 16:49 | 显示全部楼层

问题

这个我试过了,好像对我这个庞大的数据表没有用处(我对保存的时间用秒表测了一下)保存时间用了VBA和没用,几乎没有变化。
我用的操作是,把代码复制到查看代码那里。为什么没效果呢
是否有问题。请赐教

见65楼。
——山菊花

TA的精华主题

TA的得分主题

发表于 2008-11-22 22:54 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-11-23 06:50 | 显示全部楼层
原帖由 tsgsx 于 2008-11-22 07:33 发表


谢谢山版,刚看到短信,已经回复!
做了个例子,请你帮忙看看,要求只在每一列第11行输入数据,每一单元格输入结束后该列数据上移空出11单元格,表中数据始终保持最新。


山版,我自己编了一段,你给审核一下,但是我不能加入到宏里面,怎么样才可以让他运行?
Dim a As Integer
Dim b As Integer

    For a = 1 To 9
        If Cells(a, 11) <> "" Then
            For b = 3 To 10
                Cells(a, b) = Cells(a, b + 1)
            Next b
        Cells(a, 11) = ""
    Next a

请版主指教

回复见62楼
——山菊花

TA的精华主题

TA的得分主题

发表于 2008-11-23 15:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-11-23 20:30 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-11-23 22:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-22 13:08 , Processed in 0.033003 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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