簡體   English   中英

如何使用 vba 宏更新 excel 中列的過濾單元格的值?

[英]How to update values of filtered cells of a column in excel using vba macros?

我想使用 vba 宏更新列的過濾值。 例如。 標志列具有值 Y 和 N,我已過濾為 N。現在我想將值“N”更新為其他值。 下面是一個示例圖像。 有人可以建議嗎?

在此處輸入圖像描述

試試這個:

Sub Framm()
    Dim rng As Range, cell As Range
    Set rng = ActiveSheet.AutoFilter.Range
    Set rng = rng.Offset(1, 0).Resize(rng.Rows.Count - 1, 1)

    For Each cell In rng.Columns(1).Cells.SpecialCells(xlCellTypeVisible)
        cell.Value = "changed"
    Next cell
End Sub

這是我的代碼:

Sub SubChangeAutofilteredValues()

    'Declarations.
    Dim RngRange01 As Range
    Dim StrOldValue As String
    Dim StrNewValue As String

    'Setting variables.
    StrOldValue = "N"
    StrNewValue = "K"

    'Autofiltering.
    ActiveSheet.AutoFilter.Range.AutoFilter Field:=1, Criteria1:=StrOldValue

    'Verifying if any match has been found.
    If Cells(ActiveSheet.AutoFilter.Range.Rows.Count + 1, 1).End(xlUp).Row = 1 Then
        MsgBox "No records found.", , "No records found"
        Exit Sub
    End If

    'Setting the variable.
    With ActiveSheet.AutoFilter.Range
        Set RngRange01 = .Resize(.Rows.Count - 1).Offset(1, 0).SpecialCells(xlCellTypeVisible)
    End With

    'Changing the values.
    RngRange01.Value = StrNewValue

End Sub

暫無
暫無

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

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