Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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 为什么赢了';工作表中的t代码\u Change()事件是否运行?_Excel_Vba - Fatal编程技术网

Excel 为什么赢了';工作表中的t代码\u Change()事件是否运行?

Excel 为什么赢了';工作表中的t代码\u Change()事件是否运行?,excel,vba,Excel,Vba,更新: 如果我将范围定义为A2:P29的输入范围。然后,如果在第30行输入,则它工作。但是,输入_范围不会自动扩展,我想将整行下移,而不仅仅是范围中的最后一行。我怎样才能做到这两件事呢 从Siddharth Rout的帮助开始,我能够在新的Excel文件上完成这项工作。但是,无论我在这个文件上尝试了什么 -它就是不起作用。我想有某种结构可以防止自动添加行。如果是这样,我如何才能使代码工作?当检测到工作表\u Change()事件时,您需要将代码放在工作表对象中,而不是模块中 以下是如何做到这一

更新: 如果我将范围定义为A2:P29的输入范围。然后,如果在第30行输入,则它工作。但是,输入_范围不会自动扩展,我想将整行下移,而不仅仅是范围中的最后一行。我怎样才能做到这两件事呢

从Siddharth Rout的帮助开始,我能够在新的Excel文件上完成这项工作。但是,无论我在这个文件上尝试了什么


-它就是不起作用。我想有某种结构可以防止自动添加行。如果是这样,我如何才能使代码工作?

当检测到工作表\u Change()事件时,您需要将代码放在工作表对象中,而不是模块中

以下是如何做到这一点:

  • Alt-F11打开VBA编辑器
  • 从模块1复制工作表_Change()子模块
  • 双击Sheet6(itemmaster)
  • 将代码粘贴到那里
  • 确保在编辑器顶部的两个下拉列表中看到工作表和更改

    注意:您应该始终打开OptionExplicit以要求变量声明。阅读此答案,了解如何操作:


    我确实将代码复制到了Sheet6(itemmaster)中,但它不起作用。你能上传新文件吗?我会告诉你出了什么问题。你按照我回答中的步骤做了吗?因为您发布的文件的代码在模块1中,而不是在第6页的代码中。您可以发布新文件吗?我相信我可以在几分钟内修复它。好的-如果我将范围定义为A2:P29的输入范围。然后,如果在第30行输入,则它工作。但是,输入_范围不会自动扩展,我想将整行下移,而不仅仅是范围中的最后一行。我怎样才能做到这两件事呢?