Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
如何在下面提到的VBA中使列动态_Vba - Fatal编程技术网

如何在下面提到的VBA中使列动态

如何在下面提到的VBA中使列动态,vba,Vba,先生,我有上面的代码,其中K列是根据另一张表的D5单元格隐藏/取消隐藏的。但是,当我在excel中添加或删除列时,我所需的列号将在VBA中移动到L或J,但列K是静态的,并按此代码隐藏,这是不应该发生的。在excel中删除或添加列时,此列K如何自动更改如果在搜索单词Homeloan之前取消隐藏所有列没有问题,则即使删除或添加列,此选项也应有效 If Worksheets("Data").Range("D5").value = 0 Then Columns("K").EntireColumn.Hid

先生,我有上面的代码,其中K列是根据另一张表的D5单元格隐藏/取消隐藏的。但是,当我在excel中添加或删除列时,我所需的列号将在VBA中移动到L或J,但列K是静态的,并按此代码隐藏,这是不应该发生的。在excel中删除或添加列时,此列K如何自动更改如果在搜索单词Homeloan之前取消隐藏所有列没有问题,则即使删除或添加列,此选项也应有效

If Worksheets("Data").Range("D5").value = 0 Then
Columns("K").EntireColumn.Hidden = True
Else
Columns("K").EntireColumn.Hidden = False
End If

如果在搜索单词Homeloan之前取消隐藏所有列没有问题,那么即使删除或添加列,也应该可以这样做

If Worksheets("Data").Range("D5").value = 0 Then
Columns("K").EntireColumn.Hidden = True
Else
Columns("K").EntireColumn.Hidden = False
End If

我建议您在要显示/隐藏的列的顶部单元格中放置一个名为Range的名称。然后可以在代码中访问此命名范围

假设您在单元格K1上定义了Homeloan的名称:write


请注意,您应该始终限定Excel对象,以便明确要访问的工作表,但这不是问题的一部分。我建议您在要显示/隐藏的列的顶部单元格中添加一个名为Range的名称。然后可以在代码中访问此命名范围

假设您在单元格K1上定义了Homeloan的名称:write


请注意,您应该始终限定Excel对象,以便明确要访问的工作表,但这不是您的问题的一部分

列K中是否有标题?是的,与HomeLoan一样,删除列后,您无法阻止它将其他列向左移动。与其删除你想要的列,不如尝试使用列清除它……Clear你给我们的上下文越多,我们的答案就越相关。当激活此工作表时,您希望何时执行此代码?此工作表中的数据是否在一个表中,即ListObject,您可以使用Insert>table创建它?如果没有,你能改变吗?对不起,我不能完全理解。实际上,我的表有很多列,如果该产品不可用,它必须添加或删除一些列,所以我想要的列Homeloan经常是K shift,但是我想隐藏这个Homeloan列,而不管它的列号是什么,比如K,L,J,不管它的当前列号是什么。如果我可以命名整个列,但它不起作用,应该可以。列K中有标题吗?是的,就像HomeLoan一样,删除列后,您无法阻止它将其他列向左移动。与其删除你想要的列,不如尝试使用列清除它……Clear你给我们的上下文越多,我们的答案就越相关。当激活此工作表时,您希望何时执行此代码?此工作表中的数据是否在一个表中,即ListObject,您可以使用Insert>table创建它?如果没有,你能改变吗?对不起,我不能完全理解。实际上,我的表有很多列,如果该产品不可用,它必须添加或删除一些列,所以我想要的列Homeloan经常是K shift,但是我想隐藏这个Homeloan列,而不管它的列号是什么,比如K,L,J,不管它的当前列号是什么。如果我能说出整个专栏的名字,但它不起作用,应该可以了。谢谢你的帮助。谢谢你的帮助。谢谢你的帮助
Range("HomeLoan").EntireColumn.Hidden = False