2017-03-20 8 views
0

Hallo ich habe Funktion, von polnischen persönlichen Identitätsnummer zu Geburtsdatum zu extrahieren. Funktion funktioniert jedoch nur in der aktuellen Zelle. Wie modifiziere Code, um alle Zellen von A2 - Ende des Arbeitsblattes auszuführen.Excel VBA Loop-Funktion für alle Zellen

Worksheet

B2 - Zell Code

=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) 
+0

Kopieren Sie diese Funktion in die anderen Zellen, oder ziehen Sie sie nach unten. Es verwendet relative Referenz, daher sollte es für alle Zellen in Spalte A funktionieren. –

Antwort

0

Ich glaube, Sie versuchen, die Formel von B2 den ganzen Weg hinunter zu den Zellen in Spalte A, die einen Eingang zu kopieren. Ich denke, das sollte tun, wonach Sie suchen. Ich gehe davon aus, dass es auf Blatt 1 ist, wenn Sie es nicht ändern können.

'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 
Verwandte Themen