测试-如果不为空,用输入框提示乘数

Test-If not empty, prompt with InputBox for multiplier

这就是我想要的,但在循环方面我还很新手:

If (G1<>"", InputBox for a multiplier for range G2:G's LastRow,"")

遍历 BZ1 列(或最好是最后一列)

或者:

G1:BZ1各包含一个订单集的名称。我需要手动输入每个订单集的使用次数。 D2:D1001 是每组中某个项目出现的次数。我需要将 D2:D1001 乘以输入框的数字并将每个项目的结果输入 G2:G1001.

我有多个订单集,每次此宏将 运行 时,我都需要将每个订单集乘以不同数量的商店。订单集在列中,项目在行中。

这应该可以解决问题 - 只需将 Sheet1 更改为您 sheet 的名字即可。

因此,首先我们获取最后一列数据以用于我们的第一个循环(通过获取 lastcol 的值),然后我们开始遍历这些列。我们通过 InputBoxmultiplier 赋值,然后循环遍历列中的每个单元格并将其乘以您输入的数字。然后我们继续下一列,直到我们 运行 数据不足。

我更新了 InputBox 中的文本,每次都显示每列的 header 文本。

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