因此,我想在 excel 中制作一个类似 matlab/r 的工具,以模拟比更常见的 excel 工作表应用程序通常包含的更多代码驱动的计算
本工作簿应包含:
- 输入表
- 计算表
- 输出表
我尝试过 VBA,但我不喜欢它,而且我也没有用它编码的经验(它需要花费太长时间才能得到我想要的结果)
因此,我的下一次尝试是直接在 Excel 中实现它,而无需使用 VBA。
为了实现这一目标,我需要:
- 在计算表中创建一个表,其行数取决于用户在输入表中给出的输入变量。
- 根据用户的输入变量填充该表的单元格,以及一些关于在这些单元格中输入什么内容的预定义公式
例如用户输入 1 = 4,用户输入 2 = 6
代码 =>> 创建有 4 行 4 列的表格,从最左边/顶部单元格中的 6 开始,每列乘以 2,然后在转到下一行之前减去 2 并执行相同操作,等等。
因此,在这种情况下,输出将是
6 12 24 48
4 8 16 32
2 4 8 16
0 0 0 0
举个例子
如果您事先知道行数/列数,您可以轻松地进行编程,但如果您不知道,而又想创建这样的表格,该怎么办?
这有可能吗?我不希望最终用户做除了提供输入值之外的任何事情。
答案1
VBA 解决方案。假设输入在 B1 和 B2
Public Sub CreateTable()
Dim rownum, colnum, startnum, z, multi As Integer
rownum = Range("B1").Value 'number of rows
colnum = Range("B1").Value 'number of columns
startnum = Range("B2").Value 'starting value
z = 3 'third row.
For x = 1 To rownum
multi = 1 'use to multiply the starting value
For y = 67 To 66 + colnum '67 represents code for C
Range(Chr(y) & z).Value = startnum * multi 'Set the value on the table
multi = multi * 2
Next y
z = z + 1
startnum = startnum - 2
Next x
End Sub
演示