作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
该宏是关于锁定包含所有日期的列,除了具有今天日期的列。我在每张纸上都进行了编码,并且在所有纸上都完全相同。宏在任何单元格中的数据发生更改时运行。但是我希望在打开工作簿时运行宏。
我试图在“本工作簿”中对其进行编码,但我不知道该怎么做。我也尝试在“模块”中做到这一点,但做不到。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'vps
Dim x As Long
x = 7
ThisWorkbook.ActiveSheet.Unprotect Password:="123456"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Do Until IsEmpty(Cells(5, x))
If Cells(5, x) <> Date Then
Columns(x).Locked = True
End If
x = x + 1
Loop
ThisWorkbook.ActiveSheet.Protect Password:="123456"
End Sub
最佳答案
打开工作簿时锁定单元格
特征
Sub ProtectPrevious()
Const cRow As Long = 5 ' Date Row Number
Const cFirstC As Variant = 7 ' First Column Letter/Number e.g. 7 or "G"
Const cToday As Long = 6 ' Today Cell ColorIndex e.g. 6 is Yellow
Const cDays As Long = 15 ' Other Days ColorIndex e.g. 15 is some Gray
Dim ws As Worksheet ' Current Worksheet
Dim LastC As Long ' Last Column Number
Dim j As Integer ' Column Counter
For Each ws In ThisWorkbook.Worksheets
With ws
' Prepare for processing.
.Unprotect Password:="123456"
.Cells.Locked = False
' When there is no data in Date Row, continue with next worksheet.
If .Rows(cRow).Find("*", .Cells(cRow, _
.Columns.Count), -4123, , 1) Is Nothing Then Exit For
' Calculate Last Column Number
LastC = .Rows(cRow).Find("*", , -4123, , 1, 2).Column
' Remove formatting from other day(s) in Date Row.
With .Range(.Cells(cRow, cFirstC), .Cells(cRow, LastC))
.Interior.ColorIndex = cDays
End With
' Loop through columns: from First Column to Last Column.
For j = cFirstC To LastC
If .Cells(cRow, j) <> Date Then
.Columns(j).Locked = True
Else
' Apply formatting to 'today' in Date Row.
With .Cells(cRow, j)
.Interior.ColorIndex = cToday
End With
End If
Next
.Protect Password:="123456"
End With
Next
End Sub
Private Sub Workbook_Open()
ProtectPrevious
End Sub
关于excel - 我想修改代码,以便在打开工作簿后立即运行宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356416/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!