如何删除Excel工作表中除最后两列之外的所有列

时间:2018-06-13 18:22:45

标签: vb.net excel-formula

我有一个电子表格,显示我的保险库中~13000个文件的文件路径。每行可以具有不同数量的列。我真的只对最后两列,文件夹和文件名感兴趣。手动操作很多行很多。我需要一种方法来删除除每行中最后两列之外的所有列,或者按列数对其进行排序。我不是一个程序员,所以任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:1)

假设您的意思是VBA不是VB.NET(如果情况如此,请更新您的标签)

这会将最后两列(不是空白)放入A& A列中。 B.因此,您既可以编写代码来插入两列,也可以手动执行,与代码运行后删除所有列相同。

Public Sub Test()
'Insert 2 columns: A&B

Dim LastCol As Integer
For CurRow = 2 To Sheet1.UsedRange.Rows.Count + 1
    LastCol = getLastColumn(CurRow)
    If LastCol > 2 Then
        Sheet1.Cells(CurRow, 1) = Sheet1.Cells(CurRow, LastCol - 1)
        Sheet1.Cells(CurRow, 2) = Sheet1.Cells(CurRow, LastCol)
    End If
Next

'Delete All columns except A&B
End Sub

Private Function getLastColumn(ByVal CurrentRow As Integer) As Integer
getLastColumn = -1

For ColCounter = Sheet1.UsedRange.Columns.Count + 1 To 1 Step -1
    If Sheet1.Cells(CurrentRow, ColCounter) <> "" Then
        getLastColumn = ColCounter
        Exit For
    End If
Next
End Function

答案 1 :(得分:0)

这似乎更像是一个关于如何使用excel而不是vb.net的问题,但我会尝试回答它:

只需单击列标题并将鼠标拖动到选择要删除的所有列,然后右键单击任何选定的列并选择&#34;删除列&#34;从出现的上下文菜单中。