簡體   English   中英

在同一列中的ActiveCell下選擇所有未鎖定的單元格

[英]Select all unlocked cells under ActiveCell in same column

我正在嘗試創建VBA代碼,該代碼可讓我選擇ActiveCell下特定Column中的所有未鎖定單元格。

為了自己解決問題,我遇到了部分起作用的代碼: 選擇列中的所有空白單元格

我還在其他頁面上找到了用於在工作表中選擇未鎖定單元格的代碼: https : //www.extendoffice.com/documents/excel/1279-excel-select-all-unlocked-cells.html

此代碼選擇空白行但在固定列中的所有行。

Dim lr As Long
lr = Range("A" & Rows.Count).End(xlUp).Row

Range("A1:A" & lr).SpecialCells(xlCellTypeBlanks).Select 

雖然這將導致在工作表中選擇所有未鎖定的單元格:

Dim WorkRng As Range
Dim OutRng As Range
Dim Rng As Range
On Error Resume Next
Set WorkRng = Application.ActiveSheet.UsedRange
Application.ScreenUpdating = False
For Each Rng In WorkRng
    If Rng.Locked = False Then
        If OutRng.Count = 0 Then
            Set OutRng = Rng
        Else
            Set OutRng = Union(OutRng, Rng)
        End If
    End If
Next
If OutRng.Count > 0 Then OutRng.Select
Application.ScreenUpdating = True
End Sub

我期望得到的是在excel中手動選擇的列中選擇所有已解鎖(可能已填充或未填充)的單元格。

示例:范圍A1:A4-鎖定,A5解鎖,范圍A6:A7鎖定,范圍A8:A14解鎖,A15鎖定,A16:A22解鎖對於B,C,D列相同

選擇A5:使用宏,結果>選擇A8:A14和A16:A22,選擇B5:使用宏,結果>選擇B8:B14和B16:B22,

這種填充使我可以用相同的內容填充選定的行,或者一鍵刪除它們中的值。

我無法通過這個:

Worksheets("Sheet1").Select
ActiveCell.Offset(rowOffset:=3).Activate

Range(ActiveCell, ActiveCell.End(xlDown)).SpecialCells(xlCellTypeBlanks).Select

但這僅給了我:B8:B14和B16:B22范圍,我需要創建新的MACRO,最終無法滿足我的要求。

如果用於選擇未鎖定單元格的代碼正在運行(並且足夠快地滿足您的需要),則只需將WorkRng調整為活動單元格下方所需的“列”(包括?)。請參見以下代碼:

Sub Test()
    Dim WorkRng As Range
    Dim OutRng As Range
    Dim Rng As Range
    'On Error Resume Next
    'Set WorkRng = Application.ActiveSheet.UsedRange
    Set WorkRng = Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column))
    Application.ScreenUpdating = False
    For Each Rng In WorkRng
        If Rng.Locked = False Then
            'If OutRng.Count = 0 Then
            If OutRng Is Nothing Then
                Set OutRng = Rng
            Else
                Set OutRng = Union(OutRng, Rng)
            End If
        End If
    Next
    If OutRng.Count > 0 Then OutRng.Select
    Application.ScreenUpdating = True

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM