2017-05-26 138 views
0

致任何人谁可以帮助...在此先感谢。Excel如何根据单元格值重复多个值X次

的项数,包中的每一行,并且尺寸是需要根据

请注意在列“标签数”的数量被重复多次在一个单独的片材:在数标签的数量是仅用于测试目的,不需要递增

表1将如下所示

Item # Pack Size Number of Labels 
12545 20  1.8oz 1 
56010 6  4PK  2 
70091 6  7oz  3 
61816 24  1.6oz 4 

我想表2输出类似如下:

Item # Pack Size 
12545 20  1.8oz 
56010 6  4PK 
56010 6  4PK 
70091 6  7oz 
70091 6  7oz 
70091 6  7oz 
61816 24  1.6oz 
61816 24  1.6oz 
61816 24  1.6oz 
61816 24  1.6oz 

我发现下面的代码,但我想要的细胞输入范围是固定的,并且不使用对话框boxesI需要帮助修改我的代码发现为了与我的问题一起工作。我需要下面的代码来输出多个colomns。 : (我来到这里的代码:https://www.extendoffice.com/documents/excel/1897-excel-repeat-cell-value-x-times.html#a2

Sub CopyData() 
'Update 20140724 
Dim Rng As Range 
Dim InputRng As Range, OutRng As Range 
xTitleId = "KutoolsforExcel" 
Set InputRng = Application.Selection 
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8) 
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8) 
Set OutRng = OutRng.Range("A1") 
For Each Rng In InputRng.Rows 
    xValue = Rng.Range("A1").Value 
    xNum = Rng.Range("B1").Value 
    OutRng.Resize(xNum, 1).Value = xValue 
    Set OutRng = OutRng.Offset(xNum, 0) 
Next 
End Sub 

的黑客我试图做是行不通的任何帮助将是巨大的。

背景:我必须在我的新产品工作中创建许多标签。我必须在Word中手动输入每个标签。我发现我可以使用Words Mail合并操作来导入Excel数据。我有这些部分工作,但现在我需要能够得到每个项目所需的标签的确切数量。

回答

0
Private Sub hereyago() 

    Dim arr As Variant 
    Dim wsO As Worksheet 
    Dim this As Integer 

    arr = ThisWorkbook.Sheets("Sheet1").UsedRange 
    Set wsO = ThisWorkbook.Sheets("Sheet2") 

    For i = LBound(arr, 1) To UBound(arr, 1) 
     If IsNumeric(arr(i, 4)) Then 
      this = arr(i, 4) 
      For h = 1 To this 
       wsO.Cells(wsO.Rows.count, 1).End(xlUp).Offset(1, 0).Value = arr(i, 1) 
       wsO.Cells(wsO.Rows.count, 1).End(xlUp).Offset(0, 1).Value = arr(i, 2) 
       wsO.Cells(wsO.Rows.count, 1).End(xlUp).Offset(0, 2).Value = arr(i, 3) 
       wsO.Cells(wsO.Rows.count, 1).End(xlUp).Offset(0, 3).Value = arr(i, 4) 
      Next h 
     End If 
    Next i 
End Sub 
相关问题