首页 > 解决方案 > Excel 2016 要求输入密码以运行 VBA

问题描述

我提供了一个密码来取消保护活动工作表以执行宏,但它仍然要求密码来执行它的某些部分(1)将大小写更改为大写和(2)清除内容。我不知道为什么?你能帮我看看我哪里错了!我的代码是 -

Sub REFRESH_DATA()
Dim rng As Range
Dim last As Long

Application.ScreenUpdating = False

ActiveSheet.Unprotect Password:="****"
Set rng = Range("A8:R" & last)
last = Range("B99000").End(xlUp).Row

With rng.Borders  ' Blue border
    .LineStyle = xlContinuous
    .Color = vbBlue
    .Weight = xlThin
End With

If Range("B8") <> "" Then   ''''''' Upper case''''''
    ActiveSheet.Range("B8:L21000").SpecialCells(xlCellTypeConstants).Select
  With Selection
    .Value = UCase(.Value)
  End With
End If

Range("A" & last + 1 & ":R" & 90000).ClearContents

ActiveSheet.Protect Password:="****"

End Sub

弹出屏幕要求输入密码的屏幕截图

标签: excelvba

解决方案


如果我理解你的问题,你必须:

1)取消保护所有工作表示例

dim ws as Worksheet
For Each ws In Worksheets
    ws.Unprotect Password:=pwd
Next ws

'您的代码并激活带有名称示例的工作表

Worksheets(sheetname).Activate

并作为最后一项操作保护所有工作表

For Each ws In Worksheets
    ws.Protect Password:=pwd
Next ws

希望这可以帮助


推荐阅读