2014-03-28 148 views
0

我正在使用这些代码行来查找VBScript中的特定单元格。查找特定单元格后选择列作为范围

Set FoundCell = objSheetSrc.Range("A1:BZ1").Find("Device", , , 1) 
For Each Cell In Range() 
    If Cell.Value <> "*MSP430*" Then 
     Cell.EntireRow.Delete 
    End If 
Next 

因此,您可以看到Range()是我遇到的问题。基本上,我需要弄清楚如何选择FoundCell所在的整个列作为范围,然后删除不包含“MSP430”的行。

任何想法?

感谢,

安德鲁

回答

3

编辑 - VBScript的

试试这个:

Dim rngDel 

Set FoundCell = objSheetSrc.Range("A1:BZ1").Find("Device", , , 1) 

For Each Cell In objSheetSrc.Range(FoundCell.offset(1,0), _ 
       objSheetSrc.cells(objSheetSrc.Rows.Count, _ 
       FoundCell.column).End(-4162)).Cells ' -4162=xlUp 

    If Cell.Value <> "*MSP430*" Then 

     If rngDel is Nothing Then 
      Set rngDel=cell 
     Else 
      Set rngDel = xlApp.Union(cell,rngDel) 'xlApp = your Excel reference 
     End If 

    End If 
Next 

If Not rngDel Is Nothing Then 
    rngDel.EntireRow.Delete 
End If 
+0

添,感谢您的快速反应。使用该代码,我收到错误“Object Required Rows”。 – user3216733

+0

对不起 - 错过了你使用VBScript。看我的编辑。 –

相关问题