1

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

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

我怎么能这样做呢?

4

1 回答 1

1

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

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

于 2013-08-30T19:43:45.207 回答