Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在VBA中定义下一个循环的范围_Excel_Vba_For Loop_Range - Fatal编程技术网

Excel 如何在VBA中定义下一个循环的范围

Excel 如何在VBA中定义下一个循环的范围,excel,vba,for-loop,range,Excel,Vba,For Loop,Range,我是一个新手,我正在努力学习VBA。对不起,英语中有任何错误,我不是以英语为母语的人。 我正在尝试解决以下任务: 创建一个输出乘法表值的过程​​在Excel中从11到20,如下所示: 这是我的代码: Sub einmaleins() Dim x As Integer, y As Integer For x = 11 To 20 For y = 11 To 20 Cells(x, y) = x * y Next Next End Sub 它可以工作,但将表从K11放到S20。我需要它来输入从A1

我是一个新手,我正在努力学习VBA。对不起,英语中有任何错误,我不是以英语为母语的人。 我正在尝试解决以下任务: 创建一个输出乘法表值的过程​​在Excel中从11到20,如下所示:

这是我的代码:

Sub einmaleins()
Dim x As Integer, y As Integer
For x = 11 To 20
For y = 11 To 20
Cells(x, y) = x * y
Next
Next
End Sub
它可以工作,但将表从K11放到S20。我需要它来输入从A1到J10的值 我试过了

*Range("A1:J10").FormulaR1C1 = "=ROW(RC)*COLUMN(RC)"* 
但它不起作用


非常感谢您的帮助

事实上,您的公式方法更好,因为它可以避免循环

Range("A1:J10").FormulaR1C1 = "=(ROW(RC)+10)*(COLUMN(RC)+10)"

事实上,您的公式方法更好,因为它可以避免循环

Range("A1:J10").FormulaR1C1 = "=(ROW(RC)+10)*(COLUMN(RC)+10)"
可以从每个x和y坐标中减去10

例如,x=11和y=11将给出单元格s1,1

可以从每个x和y坐标中减去10

例如,x=11和y=11将给出单元格s1,1


如果您希望对代码有更多的控制,并且计划重复使用,请点击这里。即使是11-20或任何其他数字也无所谓

还建议您使用图纸参照引用单元格,以便继续操作时不会出现参照问题。例:活页1.单元格y、x

给你-函数

//调用函数

希望这有帮助


Tschüss

如果您想要对代码进行更多的控制,并且如果您计划重复使用此代码,请点击这里。即使是11-20或任何其他数字也无所谓

还建议您使用图纸参照引用单元格,以便继续操作时不会出现参照问题。例:活页1.单元格y、x

给你-函数

//调用函数

希望这有帮助

Tschüss

A1是单元格1,1,因此您需要调整循环,或者调整单元格x,y。对于x=1到10,对于y=1到10,单元格x,y=x+10*y+10。或者使用类似的逻辑调整Cellsx,y。A1是Cells1,1,所以您需要调整循环,或者调整Cellsx,y。对于x=1到10,对于y=1到10,Cellsx,y=x+10*y+10。或者使用类似的逻辑调整Cellsx,y。
Function einmaleins(fNumber As Integer, lNumber As Integer) As Integer

    Dim x, y As Integer

    For x = fNumber To lNumber

        For y = fNumber To lNumber
                Sheet1.Cells(x - (fNumber - 1), y - (fNumber - 1)) = x * y
        Next
    Next

    End Function
Sub multiTable()
 Call einmaleins(11, 20)
End Sub