首页 > 解决方案 > 用于在所有单元格上重复直到找到空白单元格的 VBA 代码

问题描述

我们收到包含保险公司信息的电子表格。Excel 通常不会将日期识别为日期,因此它不会过滤或透视表。

如果您按 f2 进入单元格,则它会单击它并正确识别它。

当我们得到数千行时,我们不能对每一行都这样做。我记录了 f2 enter 的宏,它给了我:

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

我想调整它以从突出显示的单元格所在的任何地方运行,循环直到它碰到一个空白列然后停止。

标签: excelvba

解决方案


为 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

推荐阅读