2012-09-08 90 views
-3

我从此站点获得了以下代码,它选择了列H中包含值为“1”的所有单元格,它完美地工作,但我希望您可以帮助我选择列中的所有单元格含有H负值选择列中的所有负值

Sub H() 
    Dim TheSheet As Worksheet 
    If TypeOf ActiveSheet Is Worksheet Then 
     Set TheSheet = ActiveSheet 
    Else 
     Exit Sub 
    End If 
    Dim Row As Integer 
    Dim CellsToSelect As String 
    For Row = 1 To TheSheet.Range("H" & CStr(TheSheet.Rows.Count)).End(xlUp).Row 
     If TheSheet.Range("H" & CStr(Row)).Value = 1 Then 
      If CellsToSelect <> "" Then CellsToSelect = CellsToSelect & "," 
      CellsToSelect = CellsToSelect & "H" & CStr(Row) 
     End If 
    Next Row 
    TheSheet.Range(CellsToSelect).Select 
End Sub 

谢谢如果预先 诺尔

+0

-1因为您希望别人为您免费工作。 – ApplePie

回答

0

改变这一行:If TheSheet.Range("H" & CStr(Row)).Value = 1 Then

向该:If TheSheet.Range("H" & CStr(Row)).Value < 0 Then

这里是整个子为了您的方便。

Sub H() 
    Dim TheSheet As Worksheet 
    If TypeOf ActiveSheet Is Worksheet Then 
     Set TheSheet = ActiveSheet 
    Else 
     Exit Sub 
    End If 
    Dim Row As Integer 
    Dim CellsToSelect As String 
    For Row = 1 To TheSheet.Range("H" & CStr(TheSheet.Rows.Count)).End(xlUp).Row 
     If TheSheet.Range("H" & CStr(Row)).Value < 0 Then 
      If CellsToSelect <> "" Then CellsToSelect = CellsToSelect & "," 
      CellsToSelect = CellsToSelect & "H" & CStr(Row) 
     End If 
    Next Row 
    If Len(CellsToSelect) <> 0 Then 
     TheSheet.Range(CellsToSelect).Select 
    End If 
End Sub 
+0

我以前尝试过,但是出现错误(运行时错误“104”:应用程序定义错误或对象定义的错误) –

+0

好的,如果列H中没有符合条件。我添加了一个If语句,以确保有一些单元格可供选择,以便在没有单元格时不会出错。 –

+0

从第1行到第66行,这工作正常,但如果我在第67行开始添加另一个负值,我得到错误 –