ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 自动运行宏(当打开excel时为sheet1时)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-9-3 13:17 | 显示全部楼层 |阅读模式
是这样的。我有一些数据要用excel处理, 鉴于excel只能放6万多条数据的限制。我有几十个excel。

之前是人在电脑旁,打开一个excel  然后启动宏, 等它结束了再打开另外一个,如此重复。

因为每次运算一次都要半个小时左右。所以我想做一个批处理,每隔半个小时就打开一个excel。

我在excel里解决了自动保存关闭的问题。但是自动启动宏我还没搞定。

看了微软的帮助,说是把宏名保存成Auto_Open。这个解决了问题,但会产生新的问题:
我处理完了,下次打开还要运算一遍?

所以我想,有个事件来触发宏自动运行:  打开excel文档, 并且初始工作表是sheet1时就运行。

不知能否实现,谢谢各位了。

另不知如下批处理是不是对的?
start 1.xls
ping -n 1800 127.0>nul
start 2.xls
ping -n 1800 127.0>nul
start 3.xls
ping -n 1800 127.0>nul
start 4.xls
ping -n 1800 127.0>nul
……

TA的精华主题

TA的得分主题

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

Private Sub Workbook_Open()
宏1     '要执行的宏名称
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-3 13:46 | 显示全部楼层
我就做了一个宏,能否写在这个宏的前面, 让它顺序执行。

也就是以下语句:

判断条件,启动宏:
语句1
语句2
语句3
保存下xls
关闭xls


估计我没表述清楚:
sheet1中有些需要处理的数据:
我做好了处理的宏,会自动的做一些查找替换,分列啊 什么什么的事情。
处理的时候就把数据放在sheet2 和sheet3了
处理完了,文档保存关闭下次打开是sheet3了

我想实现如下功能:
打开excel自动运行(如果初始工作表是sheet1时)。 当打开时是其他sheet时不运行,而且 从其他sheet切到sheet1时也不运行。
然后跑一堆代码。
然后保存关闭。(这个解决了)

我用批处理来解决隔一段时间打开一个excle。

TA的精华主题

TA的得分主题

发表于 2011-3-20 14:04 | 显示全部楼层

我写了一个宏,请老师帮忙看一下,哪里问题为什么我开启EXCEL不能自动运行,谢谢

Sub ReadOpentimes()
Dim otimes As Integer
otimes = Evaluate(ThisWorkbook.Names("opentimes").RefersTo)
0times = opentimes + 1
ThisWorkbook.Names("OpenTimes").RefersTo = "=" & otimes
End Sub

Sub auto_open()
  Call ReadOpentimes
End Sub
手动执行可以执行

TA的精华主题

TA的得分主题

发表于 2011-3-20 14:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
你应在Sheet1表放这个代码
Private Sub Worksheet_Activate()
你的代码
END SUB

TA的精华主题

TA的得分主题

发表于 2021-7-10 09:12 | 显示全部楼层
LangQueS 发表于 2009-9-3 13:25
例如:

Private Sub Workbook_Open()

你好前辈!
以下是双击C8单元格并回车后,R3:S11区域导入一张和C8相同名称的照片。想请你帮忙修改成:Sheet2工作表C8单元格用公式自动引用其他单元格内容后,R3:S11区域自动导入一张和C8单元格相同名称的照片(也就是自动导入),跪谢!
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Application.ScreenUpdating = False
    With Sheet2
    If Target.Address <> .Cells(8, 3).Address Then Exit Sub
    Const stL1 As String = "A1:Q2"
    Const stSize1 As String = "R3:S11"
    Const stName1 As String = "教职工照片"
        .Shapes(stName1).Delete
        .Shapes.AddPicture _
            (ThisWorkbook.Path & "\教职工照片\" & Target.Value & ".png"), _
            True, True, _
            .Range(stL1).Width, _
            .Range(stL1).Height, _
            .Range(stSize1).Width, _
            .Range(stSize1).Height
        .Shapes(1).Name = stName1
    End With
    Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

发表于 2023-4-7 13:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
LangQueS 发表于 2009-9-3 13:25
例如:

Private Sub Workbook_Open()

大师您好!
能不能给一个单元格事件?就是我双击Sheet(名为谢谢)的K8单元格触发事件。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-29 06:20 , Processed in 0.030371 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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