Как обновить значения отфильтрованных ячеек столбца в Excel с помощью макросов VBA? - PullRequest
0 голосов
/ 19 апреля 2020

Я хочу обновить отфильтрованные значения столбца с помощью макросов vba. Например. Столбец флага имеет значения Y и N, и я отфильтровал до N. Теперь я хочу обновить значение «N» до некоторого другого значения. Ниже приведен пример изображения. Может кто-нибудь предложить, пожалуйста?

enter image description here

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

Вот мой код:

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
0 голосов
/ 19 апреля 2020

Попробуйте:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...