【发布时间】:2018-04-19 02:14:28
【问题描述】:
- 背景和目的。 我想根据特定的列标题删除“sheet1”中的多列。
例如:如果列名 = “First Name”、“Surname”、“DoB”、“Gender”、“Year” 然后删除整个列。
我使用 vba 来做到这一点。
- “执行”表中的“执行”按钮
- 数据保存在“Sheet1”中。
- 点击“执行”按钮,将执行宏并编辑“sheet1”中的数据。
这是我的代码
Sub SPO_EditDocument_BUttonClick()
'Declare constant variable
Dim CellValue As String
'Edit SPO Documents.
'Consider worksheet"SPO"
With Worksheets("Sheet1")
'1. Loop and delete unnecessary columns
LastCol = Sheets("Sheet1").Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
For i = 1 To LastCol
On Error Resume Next
CellValue = Sheets("Sheet1").Cells(1, i) 'Get Column header
If CellValue = "Firstname" Then
Sheets("Sheet1").Columns(i).EntireColumn.Delete
ElseIf CellValue = "Surname" Then
Sheets("Sheet1").Columns(i).EntireColumn.Delete
ElseIf CellValue = "DoB" Then
Sheets("Sheet1").Columns(i).EntireColumn.Delete
ElseIf CellValue = "Gender" Then
Sheets("Sheet1").Columns(i).EntireColumn.Delete
ElseIf CellValue = "Year" Then
Sheets("Sheet1").Columns(i).EntireColumn.Delete
End If
Next i
End With 'End to process Worksheets
Application.ScreenUpdating = True
End Sub
- 问题:当我通过单击“执行”按钮执行宏时,当时只删除了 1 列。下一步点击→删除下一列(一键删除1列)。
- 问题:为什么我的代码不能一键删除所有列? 这种情况有什么问题?
任何帮助将不胜感激。 非常感谢您的关注。
【问题讨论】:
标签: vba excel excel-formula