VBA:复制/粘贴新工作表,包括锁定单元格
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA:复制/粘贴新工作表,包括锁定单元格相关的知识,希望对你有一定的参考价值。
情况是这样的:
我有一个Excel工作表,使用输入工作簿来填写个人事物,并且每个月都有一个工作簿。现在,有一个按钮,当用户想要一个新的Excel表格时,出于改变工作场所的原因。
例如:迪恩先生已经填写了他的每日工作时间,直到4月15日。现在,他继续前往另一个位置并按下按钮以改变工作位置。他获得了一张新的Excel工作表,它看起来和以前一样,填写了他从第一张表中写入的数据(从vba-sript复制/粘贴)。现有的条目(单元格)直到15.April也被锁定,因此他无法编辑它们。他继续写下他4月16日的工作时间等等。
如果第二个Excel工作表由宏创建(复制/粘贴),我认为这样会更好。
第一张纸的名称:sheet1第二张纸的名称:sheet2
所以我的代码到目前为止还没有工作:
Sub Test()
Dim ws1 As Worksheet
Set ws1 = sheet1.Worksheets("Master")
ws1.Copy sheet2.Sheets(Sheets.Count)
End Sub
那会复制整张表吗?
此代码用于woorkbooks的密码保护。如何在4月15日之前锁定单个细胞?那么我该怎么读出日期呢?
Sub sbProtectAllSheets()
Dim pwd1 As String, pwd2 As String
pwd1 = InputBox("Please Enter the password")
If pwd1 = "" Then Exit Sub
pwd2 = InputBox("Please re-enter the password")
If pwd2 = "" Then Exit Sub
'Check if both the passwords are identical
If InStr(1, pwd2, pwd1, 0) = 0 Or _
InStr(1, pwd1, pwd2, 0) = 0 Then
MsgBox "You entered different passwords. No action taken"
Exit Sub
End If
For Each ws In Worksheets
ws.Protect Password:=pwd1
Next
MsgBox "All sheets Protected."
Exit Sub
End Sub
或者您还有其他建议吗?
迎接Duc
答案
我假设你有每个日期的行,他们互相跟随。在列中输入小时,您可以找到第一个为空的小时。我曾经写过这段代码。填写+列+输入小时数的列数。
LastRowR = ActiveSheet.UsedRange.Rows.Count
For row = 2 To LastRowR
If ActiveSheet.Cells(row, +column+) = "" Then
LastRowR = row - 1
Exit For
End If
Next row
然后,您可以锁定过去的单元格范围。因此,您可以在(“A1”:Cells(LastRowR,+ LastColumn +))中创建一个范围,其中+ LastColumn +是工作表中使用的最后一列的编号。
以上是关于VBA:复制/粘贴新工作表,包括锁定单元格的主要内容,如果未能解决你的问题,请参考以下文章