【问题标题】:Combining IF else with LEFT to hide columns结合 IF else 与 LEFT 隐藏列
【发布时间】:2010-12-10 19:57:38
【问题描述】:

如果某个范围内单元格的前 3 个字符等于另一个单元格的内容,我正在尝试编写一些代码来隐藏列。如果一个范围内的单元格是空白的,我有隐藏列的代码;-

Private Sub Worksheet_Change(ByVal Target As Range)

Dim r As Range, cell As Range
On Error GoTo ErrHandler
Set r = Me.Range("C8:R8")
Application.ScreenUpdating = False
Application.EnableEvents = False

For Each cell In r
    If cell.Value = "" Then
    cell.EntireColumn.Hidden = True
    Else
    cell.EntireColumn.Hidden = False

    End If

    Next

ErrHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub

以及识别单元格前 3 个字符的代码;-

Dim LResult As String

LResult = Left ("Alphabet",3)

但是我如何将两者结合起来,引用一个特定的单元格而不是“字母”?

不能让它工作 - 有什么建议吗?

Private Sub Worksheet_Change(ByVal Target As Range)

Dim r As Range, cell As Range

On Error GoTo ErrHandler
Set r = Me.Range("B7:CG7")

Application.ScreenUpdating = False
Application.EnableEvents = False

Row = 1
col = 1

For Each cell In r
  If cell.Value = "" And Left(cell.Value, 3) = cell(Row, col).Value Then
    cell.EntireColumn.Hidden = True
  Else
    cell.EntireColumn.Hidden = False

End If


Next
ErrHandler:
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

干杯

【问题讨论】:

    标签: excel show-hide if-statement vba


    【解决方案1】:

    你几乎已经有了工作代码。您正在将 cell.Value 与空字符串进行比较 - 现在只需将 Left 应用于它

    LResult = Left (cell.Value,3)
    

    编辑:

    row = 20
    col = 30
    
    For Each cell In r
      If cell.Value = "" and  Left (cell.Value,3) = Cell(row, col).Value Then
        cell.EntireColumn.Hidden = True
      Else
        cell.EntireColumn.Hidden = False
    
    End If
    

    您希望从行和列的单元格中获取数据的位置(我以 20、30 为例)

    【讨论】:

    • 马克 - 对不起,我是 VBA 的新手 - 我会将你的代码放在哪里来隐藏列?
    • 我在哪里引用左边语句的结果比较的单元格?
    • Thnaks - 我如何定义 cell2?
    • 我改用 Cell(row,col) 来获得更完整的信息 - 但您可以使用任何识别单元格的东西
    • 丹,马克很好地回答了你的问题。为什么不接受他的回答,然后再问另一个问题?
    猜你喜欢
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 2020-06-20
    • 2022-09-23
    相关资源
    最近更新 更多