在超出行/列限制的文件上从命令行运行macros

我一直在使用一个有用的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 

不过,我现在需要执行相同的操作,只能在具有48051列的CSV文件中进行,因此不能在Excel中加载,因为它的列限制为16000。

我可以从文件的命令行运行脚本吗?

我怎么能这样做?

您可以一次加载.csv的块,在每个导入的末尾添加前缀或后缀。 在每个块上运行VBA代码,然后重新join。

不幸的是,Workbooks.OpenText方法支持从特定行开始导入文本,而不是特定列,因此在运行VBA代码之前,需要将.csv文件分解为Excel以外的可pipe理块。