我正在尝试调整我发现的一些代码。我需要查看两行而不仅仅是一行。 我加了这个。但不知道如何完成此操作以将其包含在循环中。请有人帮忙。
Sub DeleteColumns()
Dim currentColumn As Integer
Dim columnHeading As String
Dim columnHeading2 As String
For currentColumn = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
columnHeading = ActiveSheet.UsedRange.Cells(1, currentColumn).Value
'Check whether to preserve the column
Select Case columnHeading
'Insert name of columns to preserve
Case "NET EFFECTIVE", "OUTGOINGS"
'Do nothing
Case Else
Select Case columnHeading2
Case "HKD/sq.ft", "USD/sq.m."
Case Else
'Delete the column
ActiveSheet.Columns(currentColumn).Delete
End Select
Next
End Sub
答案 0 :(得分:1)
对您的代码采用不同的方法。这个对我有用
Sub DeleteColumns()
Dim currentColumn As Integer
Dim columnHeading As String
For currentColumn = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
columnHeading = ActiveSheet.UsedRange.Cells(1, currentColumn).Value
If columnHeading = "One" Or columnHeading = "Two" Then
GoTo label
Else
ActiveSheet.Columns(currentColumn).Delete
End If
label:
Next
End Sub
只需将"One"
和"Two"
替换为所需的列名称即可。您可以扩展IF
条件以满足您的需求
答案 1 :(得分:0)
谢谢你lokusking!
我改变了一点,它有效!!
Sub DeleteColumns()
Dim currentColumn As Integer
Dim columnHeading As String
Dim columnHeading1 As String
For currentColumn = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
columnHeading = ActiveSheet.UsedRange.Cells(4, currentColumn).Value
columnHeading1 = ActiveSheet.UsedRange.Cells(5, currentColumn).Value
If columnHeading1 = "HKD/sq.ft" Or columnHeading1 = "USD/sq.m." Or columnHeading = "Outgoings" Or columnHeading = "Net effective" Then
GoTo label
Else
ActiveSheet.Columns(currentColumn).Delete
End If
label:
Next
End Sub
答案 2 :(得分:0)
您的工作代码可以简化如下:
$transitions.onEnter({}, ($transition$) => {
//...
});