如何在行中找到特定数字?

how to find specific number in row?

嗨,我需要有关此代码的帮助,在一行中我有数周 (52),每个单元格都有一个过滤器。有谁知道我如何能将一个长代码缩短 52 周。

Private Sub CommandButton1_Click()

    If TextBox1.Value = "1" Then
        Range("E2").Select
        ActiveSheet.Range("$E:$X").AutoFilter Field:=1, Criteria1:="<>"
    End If

    If TextBox1.Value = "2" Then
        Range("F2").Select
        ActiveSheet.Range("$E:$X").AutoFilter Field:=2, Criteria1:="<>"
    End If
End Sub

这是我提出的解决方案,反映了 tospig 的建议:

Private Sub CommandButton1_Click()
    Dim FilterColumn As Integer
    FilterColumn = Val(TextBox1.Value)
    If (FilterColumn + 4) > 26 Then
        Range(Chr(64 + Int((FilterColumn + 4) / 26)) & Chr(64 + FilterColumn + 4 - (26 * Int((FilterColumn + 4) / 26))) & "1").Select
    Else
        Range(Chr(64 + FilterColumn + 4) & "1").Select
    End If
    ActiveSheet.Range("$E:$BD").AutoFilter Field:=FilterColumn, Criteria1:="<>"
End Sub

请注意范围内的 +4 以补偿 table 的偏移量。希望这会有所帮助,即使聚会有点晚。干杯,

编辑:更改了脚本,因为没有考虑过去 Z:Z 的列(AA:AA,AB:AB 一直到 BD:BD)。