|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
请求高手:
如果将《入库明细数据》和《出库明细数据》两个工作表保护,数据就不能写入了。是否在代码中加入下面两句?应写在下段代码中的哪里?或者怎么另写语句。谢谢!
ActiveWorkbook.Unprotect ("123456") '取消保护
ActiveWorkbook.Protect ("123456"), Structure:=True, Windows:=False '保护
也就是说,当sheet7(3, 21) = 1时,解除《入库明细数据》的保护,并写入数据。当sheet7(3, 21) = 2时,解除《出库明细数据》的保护,并写入数据。
Sub 录入确认()
Application.ScreenUpdating = False '关闭屏幕更新
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Dim irowa As Integer
irowa = Worksheets(IIf(sheet7.Cells(3, 21) = 1, "入库明细数据", "出库明细数据")).[a65536].End(xlUp).Row
With Worksheets(IIf(sheet7.Cells(3, 21) = 1, "入库明细数据", "出库明细数据"))
For tq = 9 To 14
irowa = irowa + 1
.Range("a" & irowa & ":m" & irowa) = Range("d" & tq & ":p" & tq).Value
Next
End With
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
已经由QQ好友解决:
代码改为如下:
Sub 录入确认()
Application.ScreenUpdating = False '关闭屏幕更新
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Dim irowa As Integer
irowa = Worksheets(IIf(sheet7.Cells(3, 21) = 1, "入库明细数据", "出库明细数据")).[a65536].End(xlUp).Row
Worksheets(IIf(sheet7.Cells(3, 21) = 1, "入库明细数据", "出库明细数据")).Unprotect ("123456")
With Worksheets(IIf(sheet7.Cells(3, 21) = 1, "入库明细数据", "出库明细数据"))
For tq = 9 To 14
irowa = irowa + 1
.Range("a" & irowa & ":m" & irowa) = Range("d" & tq & ":p" & tq).Value
Next
End With
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Worksheets(IIf(sheet7.Cells(3, 21) = 1, "入库明细数据", "出库明细数据")).Protect ("123456")
End Sub
[ 本帖最后由 fjzjm 于 2010-10-28 10:16 编辑 ] |
|