gpt4 book ai didi

excel - 添加安全性以运行工作表取消保护循环,即使选择了多个工作表也是如此

转载 作者:行者123 更新时间:2023-12-04 15:21:31 25 4
gpt4 key购买 nike

Sup boys and gurls,我又回来了

让我的代码尽可能thicc 的简单问题。我正在运行 2 个宏,保护和取消保护,循环遍历纸张计数并根据需要保护或取消保护所有纸张;它是一个全方位的潜艇,我在不同的场合从不同的 wb 调用,但它还不是万能的。

当我手动运行它并选择了多个工作表时我遇到了一个错误(比如它试图在多选中的每个工作表上运行一个循环,多选不是工作表它会产生对象问题)

有没有办法添加一个非内存/时间消耗的行来避免这个错误?

Sub UnprotectWorksheets()
Dim i As Integer
' Insert line that says "select whatever sheet" so it cancel inital multiselect?
' (I dont want to use select plz halp :( )
For i = 1 To ActiveWorkbook.Worksheets.Count
Worksheets(i).Unprotect
Next i
End Sub

multiselect and run error debug

最佳答案

I was trying to avoid using select; – Patates Pilées 59 mins ago

it does not cancel the multisheet selection, il guess il have to stick with selecting a worksheet – Patates Pilées 30 mins ago

这是我们不使用 .Select 来选择工作表的一种方法。请参阅此示例。我们在这里所做的是在取消保护之前隐藏和取消隐藏工作表(如果它没有隐藏)。这也会自动取消选择。

Sub UnprotectWorksheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Visible
Case xlSheetVisible
On Error Resume Next
With ws
.Visible = xlSheetHidden
.Visible = xlSheetVisible
.Unprotect
End With
On Error GoTo 0
End Select
Next ws
End Sub

注意:如果工作簿结构被保护,此方法将失败。

关于excel - 添加安全性以运行工作表取消保护循环,即使选择了多个工作表也是如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63193081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com