如何在行中找到特定数字?
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)。
嗨,我需要有关此代码的帮助,在一行中我有数周 (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)。