ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已答复] 改版后论坛个人资料链接出问题【杂题"々" alt+41385】

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-10 10:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 yangkd 于 2011-9-14 01:09 编辑

SPX Bundle(截图工具)V2011.8 北方星空优化版
SPX Bundle 是 SPX 公司系列产品的套装组合,它整合了 SPX Instant S
creen Capture、SPX Studio 与 SPX Editor。方面喜爱使用上述三款工
具的朋友一次性安装、一次性卸载。

此卡饭专用版本特点:清理baidu,中文助手垃圾,无需注册,安装自动关联
3个程序组件(随便哪个目录自动关联),卸载干净,在系统在无产生垃圾文件,
卸载前请退出程序后台。

已经用破解的SPX Editor,现在不需要注册的。
http://www.greenxf.com/soft/26471.html
操作说明.jpg
生产计划ACCESS.jpeg

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-10 23:32 | 显示全部楼层
系统之家 GIF屏幕录像机V2.0.part1.rar (445.31 KB, 下载次数: 8)
系统之家 GIF屏幕录像机V2.0.part2.rar (445.31 KB, 下载次数: 8)
系统之家 GIF屏幕录像机V2.0.part3.rar (155.3 KB, 下载次数: 8)

特点:高清不失真  
缺点:文件大不易传到本论坛
GGG录像录制为gif,最适合使用,不过有人不会。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-15 16:15 | 显示全部楼层
本帖最后由 yangkd 于 2011-9-26 15:12 编辑

三坛老窖.jpg 【组立加工类】依据BOM开领料单 汇总分析_三坛老窖版续
http://club.excelhome.net/thread-744794-1-1.html

Uninstall Tool v2.9.7.5118 多国语言绿色特别版 用来替代“添加/删除程
http://www.piaodown.com/soft/6512.htm
〔原创〕[10-7-21更新破解原理]巧用VBA破除锁定密码!excel2003的一个小BUG。
http://club.excelhome.net/thread-506838-1-1.html
看看破解工作表密码有多简单,只需两句
http://club.excelhome.net/thread-730062-1-1.html



TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-16 12:47 | 显示全部楼层
本帖最后由 yangkd 于 2011-10-5 11:11 编辑

夸偶磁盘锁V2.2.rar (27.57 KB, 下载次数: 6)
AvaFind_刷新+搜索驱动器.part1.rar (449.22 KB, 下载次数: 4)
AvaFind_刷新+搜索驱动器.part2.rar (349.01 KB, 下载次数: 4)
搜索神器Everything V1.2.1.371 绿中.part1.rar (449.22 KB, 下载次数: 4)
搜索神器Everything V1.2.1.371 绿中.part2.rar (337.71 KB, 下载次数: 4)
这样的有效性怎样设定.rar (13.45 KB, 下载次数: 6)

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-9-30 02:04 | 显示全部楼层
本帖最后由 yangkd 于 2011-9-30 08:47 编辑

EXCEL加载宏制作攻略
http://www.excelpx.com/forum.php?mod=viewthread&tid=157778&fromuid=405431
本文所述加载宏是指使用
一、概述
1.制作加载宏的一般步骤
(1)创建一个新的工作薄,在其中添加代码。
(2)在“文件”菜单上单击“属性”。在“文件名 属性”对话框中,单击“摘要信息”选项卡,然后在“标题”框中为加载宏指定一个您希望在“加载宏”对话框中出现的名称,在“备注”框中输入您希望当用户从“加载宏”对话框选择该加载宏时在“加载宏”对话框下方出现的说明信息。
(3)在“文件”菜单上单击“另存为”。在“另存为”对话框中,从“保存类型”框中选择“Microsoft Office
2.加载宏的加载和卸载
通过在“工具”菜单上单击“加载宏”,可以加载制作好的加载宏文件,如果它不在列表中,可以在“加载宏”对话框中单击“浏览”找到它,当某个加载宏名称前的复选框被选中时,说明它已经加载,取消选中复选框即为卸载该加载宏。
3.加载宏的作用
加载宏可以扩展
-----------------------------------------------------------
二、处理加载宏函数

加载宏函数似乎是制作加载宏中最简单的,通常它只需要在模块中写一段Function代码,它就会和图示自定义函数描述信息及有关介绍。
现在,请你新建一个工作簿,插入模块,粘贴下面的代码:

Function dx(n)
' by gly1126 金额小写转换为大写
dx = Replace(Application.Text(Round(n+0.00000001, 2), "[DBnum2]"), ".", "元")
dx = IIf(Left(Right(dx, 3), 1) = "元", Left(dx, Len(dx) - 1) &"角" &Right(dx, 1) &"分", IIf(Left(Right(dx, 2), 1) = "元", dx &"角整", IIf(dx = "零", "", dx &"元整")))
dx = Replace(Replace(Replace(Replace(dx, "零元零角", ""), "零元", ""), "零角", "零"), "-", "负")
End Function

如果觉得必要,你可以设置文件属性(见一、1.(2))并为该函数添加说明,先把它做为普通的工作簿保存(我们后面还会继续用它)再另存为XLA,然后感受一下它的效果吧。
对已经成为XLA文件的函数说明的添加及修改并不需要总是手工先还原为XLS文件,我们稍后就会提到MacroOptions方法。在此之前,先来说一下与加载宏相关的Workbook事件:
(1)AddinInstall和AddinUninstall。这两个事件分别发生在加载宏加载和卸载时的,因此使用这两个事件的工作簿一定是XLA工作簿,你需要记住的是,它们在加载宏作用期内各自只会发生一次,加载宏加载后每次<SPAN Macro:="dx" , Category:="1不熟悉这个方法不要紧,看完后面的例子你再去查看一下它的帮助,很快就会掌握的。
现在的问题,上面的语句放在哪儿呢?首先把它放在AddinInstall事件中看看,你会发现,在第一次加载时,目的确实达到了,但当你关闭
ThisWorkbook.IsAddin = False
Application.MacroOptions Macro:="dx", Category:=1
ThisWorkbook.IsAddin = True
ThisWorkbook.Saved = True
End Sub
你会发现,除了我们需要的,又增加了3条语句,这是因为加载宏文件与普通<SPAN color="#c60a00" ="True以使
4:统计           5:查找与引用     6:数据库
7:文本           8:逻辑           9:信息
如果你不想记住这些整数的含义,你可以直接写成:
Application.MacroOptions Macro:="dx", Category:= "财务"
那么是否可以为加载宏函数增加一个新类别呢?很简单!只需要将上面的Category参数改变一下就可以了:
Application.MacroOptions Macro:="dx", Category:= "财务扩展函数"
上句会在“插入函数”对话框中增加一个新类别“财务扩展函数”,并把dx函数放入其中。
MacroOptions方法还有其它一些参数,可以帮助我们,包括为函数添加说明,下面语句在分类的同时会为函数增加说明。
Application.MacroOptions Macro:="dx", Description:="金额小写转换为大写" &vbCr &"参数N:要转换的金额。", Category:="财务扩展函数"
让我们再次回到Open事件中,看看这3句代码:
ThisWorkbook.IsAddin = False
ThisWorkbook.IsAddin = True
ThisWorkbook.Saved = True
在加载宏文件中使用类似在无耐情况下才采用的变通代码,达到的目的仅仅是一般人并不注意的函数分类,我想我已经把你引入歧途,真的很抱歉。我该如何纠正呢?
我无意保留一个没有多大实用价值的技巧,我更希望由你说出来……
(我会等你一个礼拜)

呵呵,也不能全怪我,因为几乎所有的公开的资料都是这样介绍的,事实上,实现函数的说明和分类根本用不着明示的代码,这意味着在open事件中使用MacroOptions根本就是多余的。因为
rg.Value = rg.Value + 1
TTT = rg.Value
End Function
上面的函数试图将参数区域的值先加1,然后返回其值。如果你在代码中使用
N=TTT([a1])
不会有任何问题,现在,你在A2单元格输入公式“=ttt(A1)”看看。
限于篇幅,本文不再探讨理论问题,而是直接给出这些应该注意的结论:
(1)严格遵循“黑匣子”理论,不要试图去改变外部对象的属性,包括参数对象,即使它们是传址方式的。对外部对象值的改变,会导致函数的结果错误,如你在上面看到的“#VALUE!”,其它属性的改变,通常会被忽略。
(2)不要使用Volatile 方法,除非你要构建的函数确实是象RAND类型的易失性函数。在函数中加入:
Application.Volatile
会告诉系统该函数是易失性函数,则当工作表的任何区域发生改变时,该函数都会被重算。这将严重影响系统的效率。要做到这一点,应当将所有影响函数值变动的区域都作为参数,即使某些区域是固定的也要作为参数传递。
(3)函数中可以使用可选参数,但可选参数应避免为Range类型。因为使用Range类型的可选参数,将不可避免地使用Application.Volatile。
------------------------------------------------------------------
三、处理加载宏过程

加载宏的另一个重用功能就是提供扩展的操作,这通常是写在模块中的Sub过程。设计加载宏过程应注意两个方面,一是代码实体,二是提供适当的接口方式以便用户可以使用这些操作。
在代码实体的设计上,加载宏代码与其它VBA代码看上去也许没有太多的差别,但它要求设计者更为密切地注意加载宏的运行环境,对象成员的使用也更应规范和严谨。比如,喜欢混用ThisWorkbook和ActiveWorkbook的朋友要好好看看帮助文档中二者的差别了。
现在请在模块中粘贴下面的代码:
Sub HVCenter()
' 这段代码的含义很简单,让选定区域文字水平垂直居中
With Selection
  .HorizontalAlignment = xlCenter
  .VerticalAlignment = xlCenter
End With
End Sub
在接口处理上,一般有3种处理方式。
1.快捷键
为过程设置快捷键可以在另存为加载宏文件前在“工具”菜单上单击“宏”-“宏”,在“宏”对话框中,单击“选项”按钮完成。也可使用前面介绍过的MacroOptions方法设置。
Application.MacroOptions Macro:="", HasShortcutKey:=True, ShortcutKey:="A"
2.菜单
通过在系统菜单上增加菜单项可以将操作提供给使用者,加载宏是对
On Error Resume Next
'新建菜单
With Application.CommandBars(1).Controls.Add(Type:=msoControlPopup)
   .Caption = "测试(&T)"
   With .Controls.Add(Type:=msoControlButton)
     .Caption = "居中"
     .OnAction = "HVCenter"
   End With
End With
'新建工具栏
With Application.CommandBars.Add(Name:="myCmdbar")
   .Position = msoBarTop
   With .Controls.Add
   .FaceId = 352
   .Caption = "居中"
   .OnAction = "HVCenter"
   End With
   .Visible = True
End With
End Sub

由于工具栏和菜单生成后不会随
On Error Resume Next
Dim ctl As CommandBarControl
'卸载工具栏和菜单
Application.CommandBars("myCmdbar").Delete
For Each ctl In Application.CommandBars(1).Controls
   If ctl.Caption = "测试(&T)" Then ctl.Delete
Next ctl
End Sub
--------------------------------------------------------------------------------------
四、处理加载宏事件

原则上讲,加载宏事件应对所有打开工作簿发生的事件进行处理。加载宏事件的设计相对函数和过程的设计而言通常要复杂得多,它要求设计者具有一定的类知识和良好的代码组织能力。具体设计主要应解决两方面问题,一是事件代码本身,二是将预作的“事件代码”和对象关联。我们仍通过实例,继续前面的设计来介绍。
任务:让加载宏实现当用户在活动工作簿的活动工作表选择某一区域时,状态栏显示该区域的范围。
1.设计事件代码
(1)分析要用的对象和事件
不难知道,本例需要Workbook对象的SheetSelectionChange的事件。首先使用WithEvents关键字定义一个Workbook对象。
Dim WithEvents wkb As Workbook
注意,WithEvents关键字不能在标准模块中使用,因此,代码一般写在Thisworkbook中。
(2)书写事件代码
Private Sub wkb_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.StatusBar = "你选择的区域:" &Replace(Target.Address, "$", "")
End Sub
2.关联对象
(1)分析需要关联的所有情况
写好了上面的代码,如何将它与活动工作簿关联呢?首先应该分析可能进行关联的时机。以本例,大体我们将需要(改变)关联,即活动工作簿发生变化的情况列示如下:
a.当新建工作簿时,关联对象为新建的工作簿
b.当新打开工作簿时,关联对象为新打开工作簿
c.当在两个工作簿之间切换时,关联对象为新切换到的工作簿
(2)完成关联代码
上面的分析知道,需要用到Application级的事件。定义Application对象,写入相应的事件,然后在Open事件中将它关联到当前的Application即可。汇合前面的代码如下:
Dim WithEvents app As Application
Dim WithEvents wkb As Workbook

Private Sub app_NewWorkbook(ByVal Wb As Workbook)
Set wkb = Wb
End Sub

Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
Set wkb = Wb
End Sub

Private Sub app_WorkbookActivate(ByVal Wb As Workbook)
Set wkb = Wb
End Sub

Private Sub wkb_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.StatusBar = "你选择的区域:" &Replace(Target.Address, "$", "")
End Sub

Private Sub Workbook_Open()
'关联到Application
Set app = Application
End Sub
还有一个问题,上面处理的都是加载宏加载后的关联,当加载宏加载时,调用加载宏的工作簿呢?你是否认为可以在上面的Open事件中加入:
Set wkb = ActiveWorkbook
就可以了呢?答案是否定的。正确的做法是使用属性过程和Auto_Open,首先在ThisWorkbook中加入下面的属性过程:
Property Let ActiveWkb(ByVal wk As Workbook)
Set wkb = wk
End Property
然后再在模块代码中加入Auto_Open过程:
Private Sub Auto_Open()
ThisWorkbook.ActiveWkb = ActiveWorkbook
End Sub
我把这个放在最后,目的是提请你注意Open和Auto_Open的区别。
------------------------------------------------------------------------------------
五、加载宏制作的其它技巧

1.静态和动态数据
我们一直没有提到加载宏的工作表,它们可用来做什么呢?利用加载宏的工作表隐藏而具有良好的保护性,它们可以用来存储“系统”使用的大量数据(包括格式),从而实现所谓代码和数据的分离,使代码更清晰简洁。这些数据是静态的,在运行过程中允许加载宏中使用代码对它们进行修改(包括增删工作表),从而实现动态数据的要求。然而,这些修改在

3.使用窗体
加载宏可以使用窗体为用户提供友好的界面。其设计和普通工作簿没有什么区别,不再赘述。
lisachen.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-11-10 10:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lookup(9E+307,A:A)可查找A:A最下面的数值一样,有=lookup("座",A:A)可查找A:A最下面的文本(9E+307是个很大的数,同样“座”是一个很“大”的文本——拼音排在很后面)
wangjguo44
http://club.excelhome.net/thread-778291-1-1.html
lookup(9E+307,A:A)  lookup("座",A:A)

“座”是不是最大的文本
http://club.excelhome.net/thread-782348-1-1.html


alt+41385
按住alt键,数字键盘上输入:41385
"々" alt+41385
"々"搜狗输入 v1 第三页第二个
直接从软键盘的标点符号里点“々”输入也算是比较方便的

1、々 不是日文;
2、在简体中文版excel里,日文不比中文大,而是比中文小。

TA的精华主题

TA的得分主题

发表于 2012-12-22 22:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-6-8 14:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
{:soso_e100:}谢谢分享,汇总贴
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2018-1-20 22:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-3-29 21:56 , Processed in 0.049217 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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