用于在Excel中的表格工作簿和function工作簿之间进行通信的代码

我试图想出一个代码,它从两个input行(y1和y2)读取variables,并将其用于返回一个新值(y2')到第三行的函数中。 即从表工作簿获取值到函数工作簿并返回一个新的值到原始表工作簿。 通过这样做,我希望我不必为每个input值创build一个新的函数工作簿/表单。 这可能吗? 我一直在尝试VBA和Python / xlwings,但没有运气。 我本人不是程序员,这可能是这个任务似乎如此之大的原因。 任何帮助将非常感激!

PS的数字可能会使问题更清楚,但作为noob我不能张贴数字。 请在此链接位置find说明图: https : //db.tt/AxFG9snn

是的,这绝对是可能的,我不是一个专业的程序员,所以我会尽我所能向您解释代码。 你只需要在vba编辑器中编写一个简单的代码。 几个月前,我已经在你的鞋子里了。 这是一个例子。 该代码从Book1.xlsx获取input(Sheet1中的单元格A1和B1)计算输出并将其存储回Book1。 当前/活动工作簿具有公式/函数,即C1 = SUM(A1:B1)。

Sub Code() ' Gets input from another workbook Dim wb1 As Workbook ' Declaring wb1 and wb2 as variable of type Workbook Dim wb2 As Workbook Set wb1 = Workbooks.Open("book1.xlsx") 'Note: In order to access data from another workbook, it should be open. Set wb2 = ThisWorkbook 'ThisWorkbook: refrence to the workbook having this code wb2.Sheets("Sheet1").Range("A1") = wb1.Sheets("Sheet1").Range("A1") 'Access value stored in cell A1 of sheet1 in book1 and stre it in cell A1 of book2 wb2.Sheets("Sheet1").Range("B1") = wb1.Sheets("Sheet1").Range("b1") wb1.Sheets("Sheet1").Range("C1") = wb2.Sheets("Sheet1").Range("c1") 'Store the output (cell C1 of book2) in cell C1 of book1 End Sub 

您可以轻松地为一系列单元格执行此操作,还可以以偏移量引用单元格。 我希望它有帮助。