EXCEl中把两段VBA代码合用。就是一个工作表中同时运行两个代码。

PrivateSubWorksheet_Change(ByValTargetAsRange)DimcAsRangeForEachcInTarget.CellsWithcI... Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target.Cells
With c
If .Value <> "" Then
ActiveSheet.Unprotect "123"
.Locked = True
ActiveSheet.Protect "123"
End If
End With
Next
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
'当输入单元格不为空格,并且列标为1时(输入数据在A列则Target.Column = 1,B列则=2,依次类推)
If Target.Text <> "" And Target.Column = 1 Then
'同行下列单元格=系统日期.
'(在输入的单元格后面返回日期则Target.Offset(0, 1).Value = Date,
'前面返回日期则Target.Offset(0, -1).Value = Date,
'下面返回日期则Target.Offset(1, 0).Value = Date)
Target.Offset(0, 2).Value = Date
End If
End Sub

我是用来做文件取号管理的,自己从网上找到这两个代码改成自己想要的了,单独能用,并到一块不会弄。
如果有高手能有更简便的方法请不吝赐教,如果做的好可以另给分。
要求:1.150个文件取号,比如《通知》,张三今天使用时取号为TZ-001-110301,
(中间三位是序号、后边六位是日期) 李四明天取号为TZ-002-110302
2.取号人点对应的文件名或输入文件名,然后输入自己姓名,自动出现编号和取号日期(显示时间更好),且保存后所有内容不能变动,且不能修改。
展开
 我来答
帐号已注销
2011-03-01 · TA获得超过8613个赞
知道大有可为答主
回答量:3242
采纳率:66%
帮助的人:2860万
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target.Cells
With c
If .Value <> "" Then
ActiveSheet.Unprotect "123"
.Offset(0, 2).Value = Date
.Locked = True
ActiveSheet.Protect "123"
End If
End With
Next
End Sub
-----
另外,取号的规则不明:
同一本文件,多个人取,怎么写入表格?是每个人取时加一行数据?还是就这一行,改人名?
编号是不同文件不同编号?还是同一本按取的时间 把 序号 往上加?
Hi我吧,详细解答
追问
一共150多个文件
1.《通知》编号为TZ-序号-日期
张三使用编号为TZ-001-110301
李四明天使用编号为TZ-002-110302
……
2.《传真》编号为CZ--序号-日期
王五用CZ-001-110301
赵大用CZ-002-110303
……
3.……
是每个人取时加一行数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangk999
2011-03-01 · TA获得超过229个赞
知道答主
回答量:130
采纳率:0%
帮助的人:78.6万
展开全部
你得那个TZ是通知?那么JL7.3是怎么来的?是不是只需要中间三位顺序增加,后面六位显示当天日期就行?
更多追问追答
追问
JL7.3是其他文件的代号,这与整体代码设计没影响吧?我给的表格供参考。
我的目的有两个:
1.现在我的表格就能实现我所说的功能,就是希望高手能把代码合并。能同时在一个工作表中使用。
2.如果有高手能给做一个更简便的更好,另加分。
追答
合并代码就是把上面两个过程的代码合并就行了阿。你的第一段是加密,第一段是写日期。如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Text "" And Target.Column = 1 Then
Target.Offset(0, 2).Value = Date
End If

Dim c As Range
For Each c In Target.Cells
With c
If .Value "" Then
ActiveSheet.Unprotect "123"
.Locked = True
ActiveSheet.Protect "123"
End If
End With
Next
End Sub
我上面的问题是考虑你具体的应用需要,看怎么修改代码能更好。好像代码没有自动编号的内容吧?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式