VBA заполнить 3 пустые ячейки рядом с непустой - PullRequest
0 голосов
/ 17 мая 2018

Вот пример того, что я пытаюсь выполнить:

enter image description here

Я пытаюсь добавить «х» в следующие 3 пробелаячейки, которые находятся рядом с непустой ячейкой (слева направо).Я не хочу перезаписывать какие-либо ячейки, хотя.Как вы видите в первом ряду, заполнены только декабрь и январь, а я не переписал февраль.

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 17 мая 2018
Sub sub1()
  Dim irow&, icol&, n&
  For irow = 2 To 6 ' rows
    n = 0
    For icol = 2 To 14 ' columns
      If Cells(irow, icol) = "" Then
        n = n + 1
        If n <= 3 Then Cells(irow, icol) = "x"
      Else
        n = 0
      End If
    Next
  Next
End Sub
0 голосов
/ 17 мая 2018

вы можете использовать это

Option Explicit

Sub main()
    Dim cell As Range, nCols As Long
    With ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks)
        For Each cell In .Cells
            nCols = WorksheetFunction.Min(cell.Column - 1, 3)
            If Intersect(cell.Offset(, -nCols).Resize(, nCols + 1), .Cells).Count < 4 Then cell.Value = "x"
        Next
    End With
End Sub
0 голосов
/ 17 мая 2018
For Each ID In Range("A2:A6")   'Change your range according your ID
    For Each cell In ID.EntireRow.Cells     'Check each cell of ID's row
        If cell.Value = "" Then
          cell.Value = "x"
          No = No + 1
        Else
          No = 0  'Recount
        End If
        If No = 3 Then Exit For     'stop after mark 3 x
    Next
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...