2017-08-05 60 views
0

現在我正在根據excel中的數量生成標籤。我設法得到它複製&粘貼基於單元格的值。但是,我不知道如何根據循環改變一些細胞。VBA複製和粘貼循環(生成字段編號)

下面是例子:

當前的結果:

| A         | B  | C      | D  | E  | 
|------------------------------- |----- |-------------------- |----- |----- | 
| NMB IN DIA      |  | MADE IN THAILAND  |  |  | 
| INVOICE NO      | :  | MM035639    |  |  | 
| C/NO        | :  | 1      |/ | 2  | 
| SHIP TO       | :  | A      |  |  | 
| QTY        | :  | 100     |  |  | 
| NMB PARTS NO      | :  | SFASDF234    |  |  | 
|         |  | *SFASDF234*   |  |  | 
| CUST PARTS NO      | :  | SFASDF234    |  |  | 
| CUST ORDER NO      | :  |      |  |  | 
| -----------------------------  | --- | ------------------ | --- | --- | 
| NMB IN DIA      |  | MADE IN THAILAND  |  |  | 
| INVOICE NO      | : | MM035639    |  |  | 
| C/NO        | : | 1      |/ | 2  | 
| SHIP TO       | : | A      |  |  | 
| QTY        | : | 100     |  |  | 
| NMB PARTS NO      | : | SFASDF234    |  |  | 
|         |  | *SFASDF234*   |  |  | 
| CUST PARTS NO      | : |      |  |  | 
| CUST ORDES NO      | : |      |  |  | 

預期結果:

| A         | B  | C      | D  | E  | 
|------------------------------- |----- |-------------------- |----- |----- | 
| NMB IN DIA      |  | MADE IN THAILAND  |  |  | 
| INVOICE NO      | :  | MM035639    |  |  | 
| C/NO        | :  | 1      |/ | 2  | 
| SHIP TO       | :  | A      |  |  | 
| QTY        | :  | 100     |  |  | 
| NMB PARTS NO      | :  | SFASDF234    |  |  | 
|         |  | *SFASDF234*   |  |  | 
| CUST PARTS NO      | :  | SFASDF234    |  |  | 
| CUST ORDER NO      | :  |      |  |  | 
| -----------------------------  | --- | ------------------ | --- | --- | 
| NMB IN DIA      |  | MADE IN THAILAND  |  |  | 
| INVOICE NO      | : | MM035639    |  |  | 
| C/NO        | : | 2      |/ | 2  | 
| SHIP TO       | : | A      |  |  | 
| QTY        | : | 100     |  |  | 
| NMB PARTS NO      | : | SFASDF234    |  |  | 
|         |  | *SFASDF234*   |  |  | 
| CUST PARTS NO      | : |      |  |  | 
| CUST ORDES NO      | : |      |  |  | 

正如你可以預期的結果看,在C /否是基於環數量。不只是複製粘貼。有什麼我可以添加的?

下面是我當前的代碼:

Private Sub CommandButton1_Click() 

Dim i As Long 

For i = 2 To Worksheets("Sheet3").Range("E3").Value 

    Range("A1:A9", Range("E9")).Copy Sheet3.Range("A65536").End(xlUp)(2) 

Next i 

End Sub 
+0

你想要做什麼? – Shrikant

+0

@Shrikant我想複製和粘貼後,基於總量的字段C/No也循環。現在它只是複製所有值。 – Safwan

+1

@Shrikant已經根據以下答案獲得解決方案。 – Safwan

回答

1

只需設置相關的細胞對i值:

Private Sub CommandButton1_Click() 
    Dim i As Long 
    Dim NewLoc As Range 

    For i = 2 To Worksheets("Sheet3").Range("E3").Value 
     'Decide where to copy the output to 
     Set NewLoc = Sheet3.Cells(Sheet3.Rows.Count, "A").End(xlUp).OffSet(1, 0) 
     'Copy the range 
     Range("A1:E9").Copy NewLoc 
     'Change the value of the cell 2 rows down and 2 rows to the right 
     NewLoc.Offset(2, 2).Value = i 
    Next i 

End Sub 
+0

非常感謝@ YowE3k ......它的作品。但我不明白它的實際工作情況。 – Safwan

+0

@Safwan範圍對象(如單元格)具有「Value」屬性。將'Value'屬性設置爲某個值就是在單元格中設置值。所以'Range(「A5」).Value =「xyz」'會將字符串'xyz'放入單元格A5中。在代碼中,我在複製到的位置的起始處使用單元格,將其偏移兩行兩列,並將循環計數器的值寫入該單元格。 – YowE3K