Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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-自动更改输入单元格值并将输出单元格导出到新工作簿_Excel_Excel 2007_Vba - Fatal编程技术网

Excel-自动更改输入单元格值并将输出单元格导出到新工作簿

Excel-自动更改输入单元格值并将输出单元格导出到新工作簿,excel,excel-2007,vba,Excel,Excel 2007,Vba,我有一个电子表格,可以在其中输入参考号,Excel根据与该参考号关联的数据生成一个表格 与其单独输入每个参考号并手动复制结果表,是否可以自动迭代从现有列表中输入参考号并单独导出结果的过程?我的想法: 我不太明白您需要如何自动输入这些引用,但是一个好主意是将您需要的所有数字写入一个.txt文件,然后编程一个按钮,加载一个msoFileDialogFilePicker来选择您的文件。选择该文件后,您可以使用新的FileSystemObject打开它,使用ReadLine读取它,并使用您在.txt文件

我有一个电子表格,可以在其中输入参考号,Excel根据与该参考号关联的数据生成一个表格

与其单独输入每个参考号并手动复制结果表,是否可以自动迭代从现有列表中输入参考号并单独导出结果的过程?

我的想法:

我不太明白您需要如何自动输入这些引用,但是一个好主意是将您需要的所有数字写入一个.txt文件,然后编程一个按钮,加载一个msoFileDialogFilePicker来选择您的文件。选择该文件后,您可以使用新的FileSystemObject打开它,使用ReadLine读取它,并使用您在.txt文件中写入的所有数字填充数组。然后,使用该数组从lbound到ubound的forcycle,您可以在您的范围内自动输入这些数字

要每次导出您的结果表(我还是不太明白您希望如何导出),一个想法是工作表更改事件,如果结果表出现在电子表格中,您可以写下一些代码来复制粘贴结果表到新工作表中,然后保存,或者从结果表所在区域制作一个.pdf格式的结果表


这些可能性实在太多了,无法编写一段代码向您展示:

简单的答案是肯定的,只需要知道在新工作表中,在不同的工作簿中,每个参考表格会发生什么,等等。听起来你的第一部分已经编码了,从参考中生成一个表?我现在拥有的是一个根据提供的参考编号进行更新的表。我想要的是自动输入每个参考号,并每次导出更新的表格。谢谢。是否需要设置一个.txt文件,以便在单独的工作表中使用列表?至于如何导出,我认为导出整个工作表可能是最好的。欢迎您。当然,在单独的工作表中从数字列表中填充数组会更容易:只需在变量中设置源工作表,然后用source.rangexxx中的数据填充数组,其中XX是数字所在的N个范围之一。编辑:顺便问一下,如果您的下一个问题是我可以将一个关闭的工作表传递给变量吗?答案将是否:您需要打开源工作表才能访问其数据。但无需担心:您可以始终使用Application.ScreenUpdate=False来显示您刚刚打开的工作表以供导出,您只需将新计算的表复制粘贴到新工作簿集TargetBook=Application.Workbooks.Add,然后使用您喜欢的名称TargetBook.CloseTrue,YourNameHere保存即可