测试-如果不为空,用输入框提示乘数
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
的值),然后我们开始遍历这些列。我们通过 InputBox
为 multiplier
赋值,然后循环遍历列中的每个单元格并将其乘以您输入的数字。然后我们继续下一列,直到我们 运行 数据不足。
我更新了 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
这就是我想要的,但在循环方面我还很新手:
If (G1<>"", InputBox for a multiplier for range G2:G's LastRow,"")
遍历 BZ1 列(或最好是最后一列)
或者:
G1:BZ1各包含一个订单集的名称。我需要手动输入每个订单集的使用次数。 D2:D1001 是每组中某个项目出现的次数。我需要将 D2:D1001 乘以输入框的数字并将每个项目的结果输入 G2:G1001.
我有多个订单集,每次此宏将 运行 时,我都需要将每个订单集乘以不同数量的商店。订单集在列中,项目在行中。
这应该可以解决问题 - 只需将 Sheet1
更改为您 sheet 的名字即可。
因此,首先我们获取最后一列数据以用于我们的第一个循环(通过获取 lastcol
的值),然后我们开始遍历这些列。我们通过 InputBox
为 multiplier
赋值,然后循环遍历列中的每个单元格并将其乘以您输入的数字。然后我们继续下一列,直到我们 运行 数据不足。
我更新了 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