列属性可以用于几列的数字吗?

我想教自己的Excel VBA,通常可以find问题的解决scheme,尤其是在这个论坛上。 但是不是在这种情况下。

要求很简单 – 清除几个完整列的内容。

我的第一个代码工作

Dim home As Range, away As Range Dim team As Variant Dim srng As Range 'general range variable Dim i As Integer, r As Integer Dim c(1 To 4) As Integer 'Array with 4 variables Dim lastrow As Long Dim ws As Worksheet Set ws = Worksheets("Fixtures") 'Finds last row even if clear contents & blank rows lastrow = ws.Columns("A").Cells.Find("*", SearchOrder:=xlByRows, _ LookIn:=xlValues, SearchDirection:=xlPrevious).Row Set home = ws.Range(Cells(1, 2), Cells(lastrow, 2)) 'Range imported from web Set away = ws.Range(Cells(1, 4), Cells(lastrow, 4)) 'Range imported from web 'Clear output range ws.Columns("F:I").ClearContents 'Write header ws.Cells(1, 6) = "Home Fixtures" i = 2 With ws For Each team In home Select Case team.Value Case "Charnwood 1", "Charnwood 2", "Charnwood 3", "Charnwood 4" r = team.Row .Range(Cells(r, 1), Cells(r, 4)).Copy .Cells(i, 6) i = i + 1 End Select Next 

使用ws.Columns("F:I").ClearContents

然后,我想使用数字格式来保证一致性,以后在循环中更改行和列。

  'Clear output range ws.Columns(6, 9).ClearContents 

这个返回的运行时错误'1004' Application defined or object-defined error

我结束了使用

 'Clear output range ws.Range(Cells(1, 6), Cells(lastrow, 9)).ClearContents 

我已经试过每一个数字格式,我可以想象如果.columns后无济于事。

有没有办法使用.columns这样做?

 range(columns(1),columns(10)).ClearContents