高分求助 Excel宏代码高人请进 请写好代理后告知我在追加150分后你把代码发给我
在Excel工作簿中的Shhet2工作表中设计一个录入页面,区域是C5:AZ50这个区域是要输入数据的区域不含行与列标题,此区域有的单元格有公式等于的值或数据有效性序列选...
在Excel工作簿中的Shhet2工作表中设计一个录入页面,区域是 C5:AZ50 这个区域是要输入数据的区域不含行与列标题,此区域有的单元格有公式等于的值或数据有效性序列选择的值,此区域单元格设置了【设置单元格格式(F)...】【保护】里面取消了【口 锁定(L)】密码保护了工作表。要求是当在这个区域内编辑数据了单击保存后,有数据的行的数据能自动保存在本工簿的Sheet3里面的相同列(就好比是复制粘贴过去那样子),如果,入数据的这行其中有没有数据那么在Sheet3相同列本数据行的这个单元格用 0 补上。保存过去之后要自动清除录入页面Shhet2!C5:AZ50 区域编辑的数据,当下次编辑数据单击保存后同样要保存在本工簿的Sheet3里面的相同列已有数据行的下行,不能复盖上面行的数据。每次数据保存在本工簿的Sheet3工作表里面后,本工簿的Sheet3工作表都要属于密码保护状态这点很重要!但能实现输入密码取消工作表保护进行编辑。
展开
2个回答
展开全部
试试这个,不行再说
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
On Error Resume Next
Dim LRPwd$, YPwd$, LRow, mRng1 As Range, mRng2 As Range, TRow%
LRPwd = "lr123" '录入页面密码
YPwd = "y123" '源数据表密码
TRow = 5
With Worksheets("录入页面")
.Unprotect LRPwd
LRow = .[g65536].End(3).Row
If LRow < 5 Then Exit Sub '如果无实质数据直接退出
Set mRng1 = .Range("b5", Range("b" & LRow))
Set mRng2 = .Range("c5", Range("bf" & LRow))
mRng2.SpecialCells(xlCellTypeBlanks).Value = 0
End With
With Worksheets("源数据表")
Do While .Cells(TRow, 1).Value <> ""
TRow = TRow + 1
Loop
.Unprotect YPwd
mRng1.Copy
.Cells(TRow, 1).PasteSpecial Paste:=xlValues
mRng2.Copy
.Cells(TRow, 2).PasteSpecial Paste:=xlValues
.Protect YPwd
End With
With Worksheets("录入页面")
mRng2.ClearContents
.[i3] = ""
.Protect LRPwd
End With
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
On Error Resume Next
Dim LRPwd$, YPwd$, LRow, mRng1 As Range, mRng2 As Range, TRow%
LRPwd = "lr123" '录入页面密码
YPwd = "y123" '源数据表密码
TRow = 5
With Worksheets("录入页面")
.Unprotect LRPwd
LRow = .[g65536].End(3).Row
If LRow < 5 Then Exit Sub '如果无实质数据直接退出
Set mRng1 = .Range("b5", Range("b" & LRow))
Set mRng2 = .Range("c5", Range("bf" & LRow))
mRng2.SpecialCells(xlCellTypeBlanks).Value = 0
End With
With Worksheets("源数据表")
Do While .Cells(TRow, 1).Value <> ""
TRow = TRow + 1
Loop
.Unprotect YPwd
mRng1.Copy
.Cells(TRow, 1).PasteSpecial Paste:=xlValues
mRng2.Copy
.Cells(TRow, 2).PasteSpecial Paste:=xlValues
.Protect YPwd
End With
With Worksheets("录入页面")
mRng2.ClearContents
.[i3] = ""
.Protect LRPwd
End With
Application.ScreenUpdating = True
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先把承诺的分数放上来,我帮你写。
不用担心你的分数浪费,百度高人有的是。你的描述太多了,我没看完,感觉上不是很难。 即使我写不出来也有人会写的。
不用担心你的分数浪费,百度高人有的是。你的描述太多了,我没看完,感觉上不是很难。 即使我写不出来也有人会写的。
更多追问追答
追问
大神 你是不知道啊!上次我问的一个问题浪费了250分。现在这问题只要写好了自己运行可行后,不用把代码写在知道回答里面,只要告诉我写好了代码已运行过可行,我就把分放上来告知邮箱发到我邮箱里。
追答
第一、一个问题不可能到250分,最多200分,只有采纳的时候在追加50才可能到250分,既然你没有得到满意的答案为什么要追加?我对你浪费250分表示怀疑。
第二、我对我自己的VBA的水平还是有那么一点点小自信的、如果我想做,你的那个问题我有绝对的自信作出来。(虽然你的题目我都没看完)
第三、我对你的问题已经不感兴趣了。找别人去吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询