这就是我想要的,但是当谈到循环时我很绿:
如果(G1<>“”,输入框用于范围G2的乘数:G的LastRow,“”)
循环通过列BZ1(或最好是最后一列)
或者:
G1:BZ1每个都包含订单集的名称。我需要手动输入每个订单集的使用次数。 D2:D1001是每个项目中出现项目的次数。我需要将D2:D1001乘以输入框的编号,然后将每个项目的结果输入G2:G1001。
我有多个订单集,并且每次运行此宏时,需要通过不同数量的商店将每个订单集多个。订单集在列中,项目在行中。
答案 0 :(得分:2)
这应该可以解决问题 - 只需将Sheet1
更改为您工作表的名称。
首先我们得到最后一列数据用于我们的第一个循环(通过获取lastcol
的值),然后我们开始循环遍历列。我们通过multiplier
为InputBox
分配一个值,之后我们遍历列中的每个单元格并将其乘以您输入的数字。然后我们转到下一列,直到我们用完数据。
我已更新InputBox
中的文字,每次都会显示每列的标题文字。
Sub Test()
Dim sht As Worksheet, lastcol As Long, lastrow As Long, multiplier As Integer
Set sht = ThisWorkbook.Worksheets("Sheet1")
lastcol = sht.Cells(1, sht.Columns.Count).End(xlToLeft).Column
For i = 7 To lastcol
If Cells(1, i) <> vbNullString Then
multiplier = InputBox("Number of stores using set " & Cells(1, i) & ".")
lastrow = sht.Cells(sht.Rows.Count, 4).End(xlUp).Row
For j = 2 To lastrow
On Error Resume Next
Cells(j, i).Value = Cells(j, 4).Value * multiplier
On Error GoTo 0
Next j
End If
Next i
End Sub