Изменить значение ячейки в пределах именованного диапазона определенной строки - PullRequest
0 голосов
/ 18 июня 2020

У меня есть этот код, но как только первый len 3 появляется в RefNbr, он меняет весь диапазон Manitoba на ноль. Как мне сделать так, чтобы он изменял только строку / строку, на которую в это время ссылается?

Dim wsMonthly As Worksheet
Dim nmbrRowsMonthly As Integer

Set wsMonthly = Sheets(1)
nmbrRowsMonthly = wsMonthly.Cells(Rows.Count, "B").End(xlUp).Row

'Name range
Set rngManitoba = wsMonthly.Range("L2:L" & nmbrRowsMonthly)
Sheets(1).Names.Add Name:="Manitoba", RefersTo:=rngManitoba

Sheets(1).Activate
Dim RefNbr As Range
Dim x As Range
Set RefNbr = Range("B2", Range("B1000").End(xlUp))

For Each x In RefNbr
    If Len(x.Value) = 3 Then
        Range("Manitoba").Value = 0
    End If
Next x

1 Ответ

2 голосов
/ 18 июня 2020

Попробуйте следующее:

Dim wsMonthly As Worksheet
Set wsMonthly = Sheets(1)

With wsMonthly 

    Dim nmbrRowsMonthly As Long
    nmbrRowsMonthly = .Cells(.Rows.Count, "B").End(xlUp).Row

    'Name range
    Set rngManitoba = .Range("L2:L" & nmbrRowsMonthly)
    .Names.Add Name:="Manitoba", RefersTo:=rngManitoba

    Dim RefNbr As Range
    Dim x As Range
    Set RefNbr = Range("B2:B" & nmbrRowsMonthly)

    For Each x In RefNbr
        If Len(x.Value) = 3 Then
            Range("Manitoba").Cells(x.Row,1).Value = 0
        End If
    Next x

End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...