我一直在使用一个有用的VB脚本,逐行浏览电子表格,检查该行中的重复单元格,删除所有重复项并随机播放所有单元格,这样就没有空白。
看起来像这样:
Sub StripRowDupes()
Do Until ActiveCell = ""
Range(ActiveCell, ActiveCell.End(xlToRight)).Select
For Each Cell In Selection
If WorksheetFunction.CountIf(Selection, Cell) > 1 Then
Cell.ClearContents
Else
End If
Next Cell
On Error Resume Next
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
ActiveCell.Range("A2").Select
Loop
End Sub
但是,我现在需要执行相同的操作,仅在具有48,051列的CSV文件上执行,因此由于其16,000列限制而不会加载到excel中。
我可以从文件的命令行运行脚本吗?
我怎么能这样做?
答案 0 :(得分:1)
您可以一次加载.csv的块,在每次导入的末尾添加前缀或后缀。在每个块上运行VBA代码,然后重新加回。
不幸的是,Workbooks.OpenText方法支持从特定行开始导入文本,而不是特定列,因此在运行VBA代码之前,您需要将.csv文件拆分为excel之外的可管理块。