0
我有一個包含兩個文本框的用戶表單...文本框允許用戶輸入'from'和'to'值。 我想隱藏「AH」列中單元格值大於或等於「from」值且小於或等於「to」值的所有行。基於用戶表單文本框的值隱藏行
我試過以下但我沒有隱藏行嗎?
Sub Worksheet_Calculate()
Dim LastRow As Long, c As Range
LastRow = Cells(Cells.Rows.Count, "AH").End(xlUp).Row
For Each c In Range("AH3:AH1000")
If (c.Value >= UserForm1.TextBox1.Value And c.Value <= UserForm1.TextBox2.Value) Then
c.EntireRow.Hidden = False
End If
Next
End Sub
任何想法?
感謝
我增加了一個別人的代碼...這個工程確定提供了我從和值(如下)狀態。 但是,我無法引用我的文本框中的值。當我嘗試使用下面的行並參考UserForm1.TextBox1.Value
和UserForm1.TextBox2.Value
時,代碼會運行,但什麼都不做?
Sub Worksheet_Calculate()
Dim LastRow As Long, c As Range
LastRow = Cells(Cells.Rows.Count, "AH").End(xlUp).Row
For Each c In Range("AH3:AH1000")
If (c.Value >= 0 And c.Value <= 1500) Then
'(c.Value > UserForm1.TextBox1.Value And c.Value < UserForm1.TextBox2.Value) Then
c.EntireRow.Hidden = False
Else: c.EntireRow.Hidden = True
End If
Next
End Sub
我已經修改了我的代碼,但是,仍然有問題與userform.textbox.value參考 - 請看到編輯的問題。 – SMORF 2014-12-02 16:06:51
當你發現一個你期望它能夠工作的值並且看到返回的值是?時,你可以逐句通過代碼並暫停它嗎?一種可能的原因是Excel有數字時可能會採用文本格式。你可以嘗試:如果(c.Value * 1> = 0和c.Value * 1 <= 1500)然後 – Dave 2014-12-02 16:23:03
嗨。這是我不明白...當我逐句通過代碼時,c的值等於單元格值,UserForm1.TextBox1.Value等於textbox1值,UserForm1.TextBox2.Value等於textbox2值。然而,文本框的值顯示在引號中...我使用數字值的文本框 - 我是否需要將文本框的值更改爲數字? – SMORF 2014-12-02 17:34:23