所有单元格的Excel VBA循环功能

时间:2017-03-20 13:50:28

标签: excel excel-vba excel-2007 vba

您好我有从波兰个人身份号码到出生日期提取的功能。 但功能仅适用于当前单元格。如何修改代码以执行A2中的所有单元格 - 工作表的结尾。

Worksheet

B2 - 单元代码

=IF(VALUE(MID(A2;3;2))>20;"20"&LEWY(A2;2);"19"&LEWY(A2;2))&MOD(MID(A2;3;2);20)&MID(A2;5;2)

1 个答案:

答案 0 :(得分:0)

我认为您正在尝试将公式从B2一直复制到A列中具有输入的单元格。我认为这应该做你想要的。我假设它在Sheet 1上,如果不是,你可以改变代码。

'Defines the parameter to count the rows being used in column A
    lRow = Sheet1.Range("A2").End(xlDown).Row

'Creates the formula for column B
Sheet1.Range("B2") = "=IF(VALUE(MID(A2;3;2))>20;""20""&LEWY(A2;2);""19""&LEWY(A2;2))&MOD(MID(A2;3;2);20)&MID(A2;5;2)"

'Copies and paste the formulas down to the last rows for column B in Sheet 1
    Sheet1.Range("B2").Copy
    Sheet1.Range("B3:B" & lRow).PasteSpecial Paste:=xlPasteFormulas