У меня большая таблица, и я хочу скрыть столбцы, которые имеют меньшее значение.Я в состоянии написать код для удаления ненужных столбцов, но решил, что лучше просто Скрыть их, а не удалять их.К сожалению, код возвращает ошибку.Как скрыть столбцы, используя указанные имена заголовков?
Ниже приведен код, который я написал для удаления столбцов, которые не соответствуют заголовку, указанному в массиве.Как я могу изменить это, чтобы скрыть столбцы, а не удалять их?
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
Если в приведенном выше коде изменить «Удалить» на «Скрытый», я получу ошибку
«Сбой скрытого метода класса диапазона»
,ссылка на строку Case Else Columns (I).Hidden
в конце кода.