Код VBA для повторения во всех ячейках, пока не будет найдена пустая ячейка - PullRequest
0 голосов
/ 03 декабря 2018

Мы получаем таблицы с информацией страховщика.Часто Excel не распознает даты как даты, поэтому он не фильтрует и не сводит таблицы.

Если вы нажмете f2, чтобы перейти в ячейку, он щелкнет по ней и правильно ее распознает.

Поскольку мы получаем тысячи строк, мы не можем сделать это для каждой из них.Я записал макрос ввода f2, который дал мне:

Sub enter_f2()
    ' enter_f2 Macro
    ' Will open a cell and move to the next one
    ActiveCell.FormulaR1C1 = ""
    Range("D7").Select
End Sub

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

Ответы [ 3 ]

0 голосов
/ 03 декабря 2018

Попробуй,

Option Explicit

Sub DoUntilCellIsEmpty()

    Do Until IsEmpty(ActiveCell.Value)
        Debug.Print ActiveCell.Value 'If cell is not empty print activecell value to immediate window 
        ActiveCell.Offset(1, 0).Select
    Loop

End Sub
0 голосов
/ 03 декабря 2018

Первый Select набор ячеек, которые вы хотите обработать и запустить:

Sub RefreshCells()
    Dim r As Range, rr As Range
    Set rr = Selection
    For Each r In rr
        r.Select
        If r.Value = "" Then Exit Sub
        Application.SendKeys "{F2}"
        Application.SendKeys "{ENTER}"
        DoEvents
    Next
End Sub

Запустите его, пока рабочий лист активен, а не из окна VBE.Поскольку он использует Select / Edit, он будет немного медленным.

0 голосов
/ 03 декабря 2018

Измените приведенный ниже код для регионального формата даты DMY (xlDMYFormat) или MDY (xlMDYFormat).

sub fixDates()
  with worksheets("sheet1")
    .range("d:d").TextToColumns Destination:=.range("D1"), DataType:=xlFixedWidth, _
                                FieldInfo:=Array(0, xlMDYFormat)
  end with
end sub

Для любого выбранного столбца:

sub fixDatesBtSel()
  with selection.columns(1)
    .TextToColumns Destination:=.cells(1), DataType:=xlFixedWidth, _
                   FieldInfo:=Array(0, xlMDYFormat)
  end with
end sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...