VBA For Loop生成11-20乘法表,需调整输出位置至B1-K10
调整VBA乘法表输出位置至B1-K10
你的原代码直接用循环变量i和x作为单元格的行号、列号(11到20),所以输出到了K11(第11列)到T20(第20列)区域。要将结果输出到B1-K10,只需要把循环变量映射到目标区域的行、列索引即可,这里提供两种直观的修改方案:
方案1:偏移原循环的行/列索引
直接对原循环的行号、列号做减法偏移,匹配目标区域的位置:
Private Sub CommandButton1_Click() Dim i As Integer, x As Integer For i = 11 To 20 For x = 11 To 20 ' 目标行:i-10 → 11→1,20→10;目标列:x-9 →11→2(B列),20→11(K列) Cells(i - 10, x - 9) = i * x Next Next End Sub
方案2:从目标区域出发定义循环
重新以目标区域的行号(1-10)、列号(1-10)作为循环变量,反推乘法表的乘数(11-20),可读性更强:
Private Sub CommandButton1_Click() Dim rowIdx As Integer, colIdx As Integer Dim num1 As Integer, num2 As Integer For rowIdx = 1 To 10 num1 = 10 + rowIdx ' 生成11到20的乘数 For colIdx = 1 To 10 num2 = 10 + colIdx ' 生成11到20的乘数 Cells(rowIdx, colIdx + 1) = num1 * num2 ' 列+1对应从B列(第2列)开始 Next Next End Sub
两种方案都能实现将11-20的乘法表输出到B1-K10区域,你可以根据自己的习惯选择。
内容的提问来源于stack exchange,提问作者Aml_Bob
相关产品推荐
相关产品推荐

