vba - 删除 Material list 中的行

标签 vba solidworks

我目前正在尝试制作可以过滤我的BOM表(物料清单)的宏,但它不断收到错误消息。

目标是删除9栏中包含“否”文本的所有行,有人可以帮助我吗?

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc

Dim swSelMgr As SldWorks.SelectionMgr

Dim swView As SldWorks.View

Dim swBomTable As SldWorks.BomTableAnnotation

Dim i As Integer

Dim swTableAnn As SldWorks.TableAnnotation

Dim nNumRow As Variant

Sub main()

 Set swApp = Application.SldWorks

 Set swModel = swApp.ActiveDoc

 Set swSelMgr = swModel.SelectionManager

 Set swBomTable = swSelMgr.GetSelectedObject5(1)

 Set swTableAnn = swBomTable



For i = swTableAnn.RowCount - 1 To 0 Step -1

nNumRow = swBomTable.GetIdForRowNumber(i)


 If nNumRow(i, 9) = "No" Then

swBomTable.Deleterow (nNumRow), True

End If

 Next i

End Sub

最佳答案

否则将删除所有“否”行。.如无无处无。如果您想单独查找否,那么请在代码的每边“ no”->“ no”处添加空格。

Option Compare Text
Sub deleter()
Dim xrow As Long
Dim lastrow As Long

lastrow = Cells(65000, 9).End(xlUp).Row + 1
xrow = 1

Do
    If Not InStr(1, Cells(xrow, 9).Value, "No") = 0 Then
        Cells(xrow, 9).EntireRow.delete
    Else
        xrow = xrow + 1
    End If
Loop Until xrow = lastrow
End Sub


如果您需要仅用大写字母查找“否”,则可以随意删除“比较文本”选项
希望我能帮上忙

关于vba - 删除 Material list 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34087325/

相关文章:

vba - 在后台执行SolidWorks并使用VBA宏退出

html - 如何在 WebGL 中导出 SolidWorks/eDrawings 文件?

c# - Solidworks,追踪 Isldworks.CloseDoc 上的内存访问冲突错误

vba - 如何在打印选项卡中设置 'Fit all columns on one page'

vba - 如何阻止ActiveX对象在office中自动改变大小?

Java打印SLDDRW(solidworks)文件

solidworks - Epdm api 从folderId获取文件夹路径

excel - 无法将项目添加到vba excel中的组合框(表单控件)

excel - 自动更新外部工作簿中的值

mysql - VBA代码中的SQL语法