简体   繁体   English

如何使用VBA中的“ If Columns”选择多个列范围?

[英]How do I select multiple column ranges using “If Columns” in VBA?

I'm using this code on a toggle button to hide/show columns in my spreadsheet. 我在切换按钮上使用此代码来隐藏/显示电子表格中的列。

Sub Button22_Click()
If Columns("D:E").Hidden = True Then
Columns("D:E").Hidden = False
Else
Columns("D:E").Hidden = True
End If
End Sub

This formula works great for columns D:E . 此公式非常适合D:E列。 The question is, how do I add other columns, both single and ranges, to this formula? 问题是,如何在此公式中添加其他列(单列和范围)? Suppose I need to show/hide F:K and N as well, with the same button? 假设我还需要使用相同的按钮来显示/隐藏F:KN I've tried things like ("D:E","F:K") and I get a runtime error. 我已经尝试过类似(“ D:E”,“ F:K”)之类的事情,但出现运行时错误。 Any help is VERY appreciated. 任何帮助都非常感谢。

Just syntax to hide a disjoint set of columns: 只是一种语法,用于隐藏一组不相交的列:

Sub dural()
   Range("D:E,L:L").EntireColumn.Hidden = True
End Sub

This will hide columns D, E, and L . 这将隐藏列D,EL。

You have to use the Range object. 您必须使用Range对象。

Range("D:E,F:K,N:N").Select
Selection.Hidden = True

https://msdn.microsoft.com/en-us/library/office/ff838238.aspx https://msdn.microsoft.com/en-us/library/office/ff838238.aspx

Update: 更新:

Your code should look like this: 您的代码应如下所示:

Sub Button22_Click()
    Range("D:E,F:K,N:N").Select
    Selection.EntireColumn.Hidden = Not Selection.EntireColumn.Hidden
End Sub

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM