Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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
Arrays 使用Excel中的VBA,如何隐藏数组中未指定标题的列?_Arrays_Excel_Vba_Hidden - Fatal编程技术网

Arrays 使用Excel中的VBA,如何隐藏数组中未指定标题的列?

Arrays 使用Excel中的VBA,如何隐藏数组中未指定标题的列?,arrays,excel,vba,hidden,Arrays,Excel,Vba,Hidden,我有一个大的电子表格,我想隐藏不太重要的列。我可以编写代码来删除不必要的列,但我决定只隐藏这些列,而不是删除它们。不幸的是,代码返回了一个bug。 如何使用指定的标题名称隐藏列 下面是我编写的代码,它删除了与数组中指定的标题不匹配的列。如何编辑此项以隐藏列而不是删除列 Sub Delete_Rearrange() 'deletes unnecessary columns, then rearranges columns Dim I As Long, e As Long, n As L

我有一个大的电子表格,我想隐藏不太重要的列。我可以编写代码来删除不必要的列,但我决定只隐藏这些列,而不是删除它们。不幸的是,代码返回了一个bug。 如何使用指定的标题名称隐藏列

下面是我编写的代码,它删除了与数组中指定的标题不匹配的列。如何编辑此项以隐藏列而不是删除列

 Sub Delete_Rearrange() 'deletes unnecessary columns, then rearranges columns

    Dim I As Long, e As Long, n As Long

    Application.ScreenUpdating = False
    e = Cells(1, Columns.Count).End(xlToLeft).Column
    For I = e To 1 Step -1
    Select Case Cells(1, I).Value
        Case "accrue_mkt_disc_elect", "accrued_oid", "error", "accrued_unrealized_mkt_disc", "acq_dt", "acq_prem", "amort_prem_elect", "bond_prem", "Currency_code", "END_DT", "Error", "exc_rte", "fmv_as_of_dt_of_gf", "gf_dt", "gf_or_inh_in", "include_mkt_disc_inc_elect", "isn_sec_iss_id", "iso_crr_cd", "last_adj_dt", "mkt_disc", "rc_con_in", "rv_fm_cus_at_nm", "sb_fm_nm", "spot_rte_elect", "tl_cur_cs", "tl_og_cs", "tl_qty", "trf_initial_dt", "trf_sett_dt", "Error"
             On Error Resume Next
            n = WorksheetFunction.Match(Cells(1, I), Range(Cells(1, I - 1), Cells(1, 1)), False)
            If Err = 0 Then Columns(I).Delete
            On Error GoTo 0
        Case Else
            Columns(I).Delete
    End Select
Next I
Application.ScreenUpdating = True

End Sub
如果我在上面的代码中将Delete改为Hidden,我会得到错误

“范围类的隐藏方法失败”


,引用行
Case Else列(I)。隐藏在代码末尾附近。

正确用法是
列(I)。隐藏=真

谢谢你,达雷尔!真不敢相信我错过了。非常感谢。如果答案解决了您的问题,您能接受吗?请注意,
列(I)。隐藏的
不会出现在您发布的代码中。您应该真正参考文档:是一个必须设置或分配的属性。您没有设置它的值,这是对属性的无效调用
Delete
是一种不带参数的方法,因此它只是
.Delete
,而
Hidden
必须作为
Hidden=True
Hidden=False
给出。