2016-09-29 66 views
1

我想教自己的Excel VBA,通常可以找到问题的解决方案,尤其是这个论坛。但在这种情况下不是。列属性可以与数列一起使用吗?

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

我的第一个代码工作

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这样做的方法?

回答

3
range(columns(1),columns(10)).ClearContents 
+0

..........漂亮.............. –

+0

太简单了!非常感谢 – Woodside

相关问题