Нужна помощь в цикле макросов - PullRequest
0 голосов
/ 12 ноября 2018

Я не считаю, что это очень сложно, но я не могу понять ...

В столбце B у меня есть либо "Оригинал", либо "Добавить" в списке.Начиная с B79 и двигаясь вверх, в первый раз отображается «Оригинал». Я хочу нарисовать границу от B #: N # внизу.

Я не знаю, как запускать правильные циклы в VBA, поэтому ниже приведено то, чего у меня пока нет, чего не хватает совсем немного.

Sub Test()    
Range("B79").Select
If Range("B79") = "Original" Then
Selection.End(xlToRight).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
    .LineStyle = xlDot
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlThin
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Else: ActiveCell.Offset(-1, 0).Select
End If

End Sub

Вот моя текущая попытка.Я просто пытаюсь заставить его выделить клетки.

Sub Test()

Let x = 79
Do While x > 7
If ("B" & x) = "Original" > 0 Then
Selection.End(xlToRight).Select
Else: x = x - 1
End If
Loop

End Sub

1 Ответ

0 голосов
/ 13 ноября 2018

Используйте для следующего цикла и не выбирайте, это должно делать то, что вам нужно. Обязательно прочитайте этот код и поймите, как он соотносится с вашим исходным кодом.

Sub Test()
Dim X As Long
For X = 79 To 1 Step -1 'Step -1 makes it go backwards
    If Range("B" & X).Text = "Original" Then 'Notice I am not actually selecting anything in this code, I don't need to in order to manipulate it
        With Range("B" & X).End(xlToRight)
            For Each Border In .Borders 'Loop the borders so you don't have to name each one
                Border.LineStyle = xlNone
            Next
            With .Borders(xlEdgeTop)
                .LineStyle = xlDot
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
        End With
    End If
Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...