ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH云课堂-专业的职场技能充电站 Excel转在线管理系统,怎么做看这里 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 EH云课堂直播课程免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 2293|回复: 17

[求助] 出问题,打开和关闭工作簿没有取到相应效果。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-5-20 21:43 | 显示全部楼层 |阅读模式
我要的效果是:
1、打开工作簿时,触发相应事件,弹出消息框,点击“是”,
    (1)清除黄色区域内容。
    (2)清除蓝色区域内容和格式。
2、关闭工作簿时,
    (1)不弹出保存对话框,直接保存文件。
    (2)清除蓝色区域(如果蓝色区域有内容)内容。
    (3)红色区域的内容录入到蓝色区域中。
    (4)根据T1单元格中的数字,将T列数据,备份到以U列为第一列往右的相应列中。

2015春第3月充卡.rar

31.24 KB, 下载次数: 28

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-21 05:49 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-21 06:51 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-21 09:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-5-21 10:33 | 显示全部楼层
weiyingde 发表于 2015-5-21 09:58
大侠救我,在线等,急用!!

供参考
  1. Private Sub Workbook_Open()
  2.     With Sheets("学生交款")
  3.         If MsgBox("是否清除黄、蓝区域?", 4 + 32, "信息") = 6 Then
  4.             Application.EnableEvents = False
  5.             Union(.[C3:C34], .[M3:M28]).ClearContents
  6.             .Range("T4:T" & .[T65536].End(xlUp).Row).ClearFormats
  7.             .Range("T4:T" & .[T65536].End(xlUp).Row).ClearContents
  8.             Application.EnableEvents = True
  9.         End If
  10.     End With
  11. End Sub
  12. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  13.     Dim ar, br(), cr(), i&, j&, m&, n&
  14.     Application.DisplayAlerts = False
  15.     With Sheets("学生交款")
  16.         ar = .[B3:S34]
  17.         For i = 1 To UBound(ar)
  18.             For j = 1 To 2
  19.                 If IsNumeric(ar(i, (j - 1) * 10 + 1)) = False And ar(i, (j - 1) * 10 + 6) > 0 Then
  20.                     If ar(i, (j - 1) * 10 + 6) = 220 Then
  21.                         m = m + 1
  22.                         ReDim Preserve br(1 To m)
  23.                         br(m) = ar(i, (j - 1) * 10 + 1)
  24.                     Else
  25.                         n = n + 1
  26.                         ReDim Preserve cr(1 To n)
  27.                         cr(n) = ar(i, (j - 1) * 10 + 1) & "欠" & ar(i, (j - 1) * 10 + 6) & "元"
  28.                     End If
  29.                 End If
  30.             Next j
  31.         Next i
  32.         Application.EnableEvents = False
  33.         .Range("T4:T" & .[T65536].End(xlUp).Row).ClearFormats
  34.         .Range("T4:T" & .[T65536].End(xlUp).Row).ClearContents
  35.         .[T4].Resize(m, 1) = Application.Transpose(br)
  36.         .[T4].Offset(m, 0) = "欠交生活费"
  37.         .[T4].Offset(m + 1, 0).Resize(n, 1) = Application.Transpose(cr)
  38.         If .[T1].Value > 0 Then .[T1].Resize(m + n + 4, 1).Copy .[T1].Offset(0, .[T1])
  39.         Application.EnableEvents = True
  40.     End With
  41.     Me.Save
  42.     Application.DisplayAlerts = True
  43. End Sub
复制代码
第3月充卡.rar (17.13 KB, 下载次数: 12)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-21 14:30 | 显示全部楼层
原来代码所实现的功能,丢失了不少,我的目的是在原来的基础上,再进一步完善,而不像太简单。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-21 15:48 | 显示全部楼层
我的所有目的是:实现数据清除和备份的自动化。具体是
1、每次打开自动清除(可以选择)编辑区域;
2、每次关闭时,将及时情况自动备份每次数据到指定区域;
解释:比喻说,
1、今天是6月1日,要交第六个月的生活费了,打开工作表时,弹出消息框”今天收生活费吗?“
     选择”是“,这样就清除了五月收生活费的所有信息,关闭工作簿时,就将当天没有交生活费的名单,
     或者前有部分生活费的学生的名单及详细情况,备份到指定区域,并且由电脑当堂自动公布具体情况。
2、6月2日,另外没交或欠部分生活费的同学继续交款,我打开工作簿时,当弹出消息框”今天收生活费吗?“
     选择”否“,这样,在编辑区域中,以前的信息,没有抹去;关闭工作簿时,又将第二次的及时情况备份到
     相关区域,然后根据需要,选择要不要公布。
  我这样做的目的就是:每次的缴费情况,都详细备份,以便对账,防备学生忘记或个别赖账的情况发生。具体的效果我做给你看看:
你如若有时间可以帮我琢磨琢磨,先谢了。

附件:问题、要求和所需效果.rar

33.11 KB, 下载次数: 20

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-21 15:58 | 显示全部楼层
作为一个中级的EH人,都是请教别人,还没有鲜花入账,真是惭愧;
另一方面,我又想把我目前要完成的设想(我是班主任和语文教师)付之于现实,待整个完成后,在于大家分享,也算是给EH家庭中像我这种职业和身份,与我有相同需求的同志们一个方便,不知这样算不算自私?
打开EH网页,每次求助的时候,我都汗颜,有时我想也和又见星光老师一样,多给别人帮帮,尽自己的微薄之力,做些贡献,又想到我的这个我们有完成的任务,我又把所有的事情都放下来,全心投入到自己所谓的”设计“,不知这样做,值不值?是不是有不实之嫌?
以此请示同仁。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-5-21 20:58 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-5-22 09:12 | 显示全部楼层
我觉得不需要用宏来操作。

记账就记流水账,统计用透视表+简单公式即可。

建立一个规范的表格格式才是最重要的。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

关注官方微信,每天学会一个新技能

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

GMT+8, 2019-10-23 15:22 , Processed in 0.073811 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

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

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

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