我有一个 excel 文件,用于查找和计算给定日期的数据。它的工作原理如下:您在特定单元格(输入)中输入日期,所需数据会出现在同一张表中(20 个单元格)。(计算等...在另一张表中完成)
现在我想创建一个 Excel 文件来汇总所有这些数据,而无需自己输入日期并手动复制数据。
宏应该做的是:对于每个日期更改该特定输入单元格的值,复制输出数据并将其粘贴到新工作表中(日期旁边)。
知道怎么做吗?我很久以前就用过宏,但忘记了大部分语法。
答案1
如我所见,您有一个输入数据数组,
dim my_array(10)
这是您的数组,它存储了 10 个值
假设您有 3 个工作表,第一个是您输入数据“Sheet1”的地方,第二个是您想要保存输出“Sheet2”的地方,第三个是所有计算完成的地方,我们不会触及它。
让我们从用值填充数组开始:
my_array = Array(1, 2, 3, ..., 9)
现在我们将进行循环以遍历所有输入值并保存输出值: 其中“A1”是第一张工作表上的单元格,您将输入粘贴在其中。假设您在 Sheet1 的单元格“A2”中获得输出,并且您想要将其存储在 Sheet2 的列“A”中: 不要忘记关闭循环: 所以我们得到代码,它采用 10 个硬编码值并将输出保存到 Sheet2 的列“A”,全文:
for i = 1 to 10
Worksheets(1).Range("A1").Value = my_array(i)
Worksheets(2).Cells(i, 1).Value = Worksheets(1).Range("A2").Value
Next
dim my_array(10)
Private Sub macro1()
my_array = Array(1, 2, 3, ..., 9)
for i = 1 to 10
Worksheets(1).Range("A1").Value = my_array(i)
Worksheets(2).Cells(i, 1).Value = Worksheets(1).Range("A2").Value
Next
End sub