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