如果该列中不包含单个值,是否有使用 vb 脚本删除 Excel 列的更快过程?
For Task=2 To 300
Vcounter="False"
IntRow6=2
Do While objSheet6.Cells(IntRow6,1).Value = ""
If objSheet6.Cells(IntRow6,Task).Value <> "" Or objSheet6.Cells(IntRow6,Task).Value <> "None"
Vcounter="True"
Exit DO
End If
IntRow6=IntRow6+1
Loop
If Vcounter <> "True" Then
objSheet6.Cells(1,Task).EntireColumn.Delete
End If
Next
更新:
您还可以说如何计算 Excel 每一行中的数据数吗?例如
Col1 Col2 Col3 Col4 Col5
Row1 A B X P
Row2 L M
Row3 T V
现在 VBScript 应该给我 Row1 包含 4 个数据,Row2 包含 2 个数据和 Row3 包含 2 个数据的计数。
代码更新
我已经参考您的代码更新了我的代码。并使用“Hi”作为弹出框,查看控件是否进入了If Body。但弹出框始终没有出现。调用“Application.WorksheetFunction.CountBlank(rg)”中似乎发生了一些错误。你能在这里检查并帮助我吗?没有一列被删除,它们应该在哪里。
Sub DeleteColumns(Ob6)
Dim CountBlank
Dim rows
Dim rg,c
Set objExcel1 = CreateObject("Excel.Application")
For c = 150 To 155
Set rg = Ob6.Range(Ob6.Columns(c),Ob6.Columns(c))
CountBlank = objExcel1.Application.WorksheetFunction.CountBlank(rg)
rows = rg.rows.Count
If CountBlank = rows Then
MsgBox("Hi")
rg.EntireColumn.Delete
End If
Next
End Sub
修复:我刚刚修复了它。所以这里没有问题。只需要您对更新部分的帮助。
谢谢