我非常擅长将VBA / excel用于其他任何基础知识。
我面临的问题是:
背景
每天都必须更新一个庞大的excel表。这需要在表格底部的下一个空行输入一系列数据值。然后,此数据用于各种其他目的(每周报告,填充Access数据库等)。
某些数据必须转换为不同的单位。我想在某种程度上自动化这个过程,以便用户只需要填写几个字段并自动填充数据表。
我想在一个工作表上放置用户字段,在另一个工作表上放置原始数据表。理想情况下,单击宏可以根据不同工作表上的用户输入数据在原始数据表中生成新的数据行。
非常感谢任何见解。如果这是一个不恰当的问题,请告诉我还应该提供什么!
答案 0 :(得分:0)
如果没有看到您的实际工作簿,我将为简化示例提供解决方案。假设用户在Sheet1上的单元格A1和B1中输入新数据值。 您希望将这些值添加到Sheet2上的下一个空行。
用户输入值后,您可以使用以下代码运行宏:
Dim intNewRow As Long
intNewRow = Sheets("Sheet2").Cells(1, 1).End(xlDown).Row + 1
Sheets("Sheet2").Cells(intNewRow, 1) = Sheets("Sheet1").Cells(1, 1).Value
Sheets("Sheet2").Cells(intNewRow, 2) = Sheets("Sheet1").Cells(1, 2).Value
这可能过于简单了,但您可以通过在公式末尾添加数学运算来更改单位。我认为你正在寻找的关键是寻找下一个空行。第二行代码是为您做的,并将其分配给变量intNewRow。