2016-04-27 4 views
0

teilen unter Nummer hat Länge von 39, ich möchte das auf Länge 13 teilen und möchte diese Werte erhalten. Also sollte ich 3 Werte wie A = 0001098600250, b = 0001098600602, c = 0001098600763 bekommen. Können Sie mir bitte dabei helfen? 000109860025000010986006020001098600763QTP Ich möchte diese Nummer in 13

Antwort

1

Ich weiß nicht, was Sie genau erreichen wollen, aber das folgende sollte Ihnen die gewünschten Ergebnisse geben.

Dim reqnumber,A,B,C 

reqnumber = 000109860025000010986006020001098600763 
A = Left(reqnumber,13) 
B= Mid(reqnumber,14,27) 
C= Right(reqnumber,26) 
+0

Danke für die Hilfe butreqnumber = 000109860025000010986006020001098600763 (diese Zahl ist dynamisch, manchmal ist es x/13) x kann 13 oder 26 oder 39 oder 52 usw. sein. Ich denke, wir sollten die Länge finden und dann in 13 aufteilen. Aber ich weiß nicht, wie ich das machen soll. Hilf mir bitte –

0

Versuchtes bisschen. Ich hoffe, dies wird dir helfen.

Lassen Sie varNum ist diese Nummer. Die fertige Ausgabe arrNums ist Array von Zahlen nach dem Aufspalten

intLen= Len(varNum) ' get lenth of the variable 
varNum=Cint(varNum) ' covert to integer 
If(intLen Mod 13) then ' if it is not multiple of 13 
    msgbox "number length is not multple of 13" 
Else  ' if it is multiple of 13 
    Dim arrNums() ' initialsie array to store numbers 
    cnt=intLen/13 ' get count of numbers to be splitted 
    redim arrNums(cnt-1) 
    For i=1 to cnt ' loop and split the variable 
    arrNums(i-1)=Mid(varNum, 13*(i-1)+1, 13) ' store number in array 
    'i=i+1 
    Next 
End if 
+0

Danke, anstelle von i = i + 1, habe ich das kommentiert, sonst gibt es nur ungerade Array-Werte. Danke für all Ihre Hilfe Kiran –

+0

ja Sie haben Recht. i = i + 1 sollte kommentiert werden. –

1

Unter der Annahme, dass die Zeichenfolge immer ein Vielfaches von 13 sein wird

butreqnumber = "000109860025000010986006020001098600763" 

Dim arr() 
ReDim arr(Len(butreqnumber)/13) 
j = 1 

For i = 0 To (UBound(arr) - 1) 
    arr(i) = Mid(butreqnumber,j,13) 
    j = j+13 
Next 
+0

Danke pankaj. –

+1

Wenn es Ihnen geholfen hat, markieren Sie es als beantwortet, damit es zukünftigen Lesern hilft –