2014-06-25 50 views
0

我想在兩個單元在MS Excel 2010中修改序列號包括在另一個小區[EXCEL 2010]根據數據編號

創建基於數據的新序列ID的第一個單元格包含當前序列號,例如A^B 第二個單元包含一個數量例如4

我想在第三細胞以產生應確定在第二單元的數目和串聯依次即出在實施例中確定的第一和第二小區的所述第三單元中的值,結果上面應該是

甲^ B^1 甲^ B^2 甲^ B^3 甲^ B^4(均在一列中不同的小區)

我有500序列號與每個量的變化量因此,我想請求一個例行程序或幫助我快速創建第三個細胞的方法。

謝謝。

回答

0

你說的第三個單元格shoudl串接,但之後再去說的是應該在不同的細胞....如果你希望他們串聯那麼UDF應該是相當直截了當..

是這樣的:

Function myfunction(Ftext As String, Ntimes As Integer) As String 

    Dim chk As Integer 
    chk = 1 

    Do While chk <= Ntimes 
     myfunction = myfunction & Ftext & chk & " " 
     chk = chk + 1 
    Loop 

    myfunction = Trim(myfunction) 

End Function 

你只使用在工作表像任何其他功能

=myfunction(cell1,cell2) 
+0

謝謝你的功能。我嘗試過,但沒有產生任何結果。當它嘗試調用此函數時,只顯示第三列中的#VALUE。 – user2244223

+0

爲了澄清我的陳述,我的意思是單元格1和2應串聯連接,但結果應顯示在第三列。例如,如果我們有下列輸入:1 列,第2列 A_12^2,3 A_37^B,4 基於該輸入,第3列輸出應該是 第3列 A_12^2^1 A_12^2^2 A_12^2^3 A_37^B^1 A_37^B^2 A_37^B^3 A_37^B^4 – user2244223

0

下面是使用宏來填寫所有細胞的例子:

Sub CreateSerialNumbers() 

    Dim i As Integer, j As Integer 

    With Sheets("Sheet1") 'Change to your sheet name 
     For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row 'Assume we start in row 2 and work to the bottom of the sheet 
      For j = 1 To .Cells(i, 2).Value 
       .Cells(i, j + 2).Value = .Cells(i, 1).Value & "^" & j 
      Next j 
     Next i 
    End With 

End Sub 

這裏假設你的數據開始第2行,那連續劇是在A列和數字列B.

+0

感謝您的代碼。我已經添加了它,但它給了我一個類型不匹配錯誤,即使我已經檢查了兩個輸入的類型。 – user2244223

+0

我猜你在你的第二列中有非數字數據,就是數字。使用即時窗口查找發生錯誤時的i值。這會告訴你「壞」數據的行。 –