ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[VBA程序开发] [原创]VBA锁定新方法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2002-7-10 15:18 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
THANKS TO GZK、ROWEN、WSWX、KEVIN&EXCELHOME: 无意中发现了一种VBA锁定的新方法,不需要VBA密码,也不需要VBALOCK,出现“工程不可查看”。 以下是实现的例子,效果与LOCKVBA是否一样? 如果可以保证无法解密,说明此方法可行![upload=rar]uploadImages/20027101518426146.rar[/upload]

TA的精华主题

TA的得分主题

发表于 2002-7-10 16:04 | 显示全部楼层
你是如何做到的?

TA的精华主题

TA的得分主题

 楼主| 发表于 2002-7-10 17:18 | 显示全部楼层
这个论坛不允许将这种方法随便说出,也许诸位要失望了,但我可以明确说明,我是借助于第三方工具的。还可以反向工程,但不会很容易。

TA的精华主题

TA的得分主题

发表于 2002-7-10 18:06 | 显示全部楼层
你这种VBA锁定新方法看来挺有效 不便说出可以理解 但我很想学习你是怎样把原示数据排列成期望格式的 把这段代码说出让大家学学 吧

TA的精华主题

TA的得分主题

 楼主| 发表于 2002-7-10 18:18 | 显示全部楼层
to http 谢谢您的理解! 代码见下: Sub band0621() On Error Resume Next Dim i, j As Integer Dim x As String Columns("B:IV").Select Selection.NumberFormatLocal = "@" Columns("C:C").Select Application.CutCopyMode = True '数据分列 Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False '数据移动 For i = 1 To 1000 For j = 1 To 1000 If Cells(i, 2 + j) <> "" Then Cells(i + j, 2).Select Selection.NumberFormatLocal = "@" Selection.EntireRow.Insert Cells(i + j, 2) = Cells(i, 2 + j) Cells(i + j, 1) = Cells(i, 1) Cells(i, 2 + j).Clear Else Exit For End If Next j, i Columns("C:C").Select Selection.Delete Shift:=xlToLeft End Sub 例子而已,作的并不是很好。

TA的精华主题

TA的得分主题

发表于 2002-7-14 13:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2002-8-30 11:52 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-6-24 10:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-6-30 23:14 | 显示全部楼层

不行 还是被我破解了

Private Sub CommandButton1_Click() band0621 End Sub

还有一个还有一个fenlie 模块,其中内容就是上面的代码

TA的精华主题

TA的得分主题

发表于 2006-3-7 12:32 | 显示全部楼层

不好意思斑竹。

Sub band0621()
On Error Resume Next

Dim i, j As Integer
Dim x As String
Columns("B:IV").Select
Selection.NumberFormatLocal = "@"
Columns("C:C").Select
Application.CutCopyMode = True
'数据分列
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False
'移动数据
For i = 1 To 1000
For j = 1 To 1000
If Cells(i, 2 + j) <> "" Then
Cells(i + j, 2).Select
Selection.NumberFormatLocal = "@"
Selection.EntireRow.Insert
Cells(i + j, 2) = Cells(i, 2 + j)
'Cells(i + j, 2) = LCase(Cells(i, 2 + j))'如果出现大小写混乱,使用本行代码
Cells(i + j, 1) = Cells(i, 1)
Cells(i, 2 + j).Clear
Else
Exit For
End If
Next j, i
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
End Sub

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-18 10:58 , Processed in 0.041678 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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