2016-09-29 7 views
1

私は自分自身でVBAを習得しようとしており、通常はウェブ上の問題、特にこのフォーラムの問題を解決することができます。しかし、この場合ではありません。複数の列の数値にはcolumnsプロパティを使用できますか?

要件は簡単です。いくつかの完全な列の内容をクリアします。

私の最初のコードはws.Columns("F:I").ClearContents

を使用

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 

働いた私はその後、ループ内で行と列を変更する一貫性のために数値形式を使用していました。

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

これは私が

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

を使用して終了実行時エラーに'1004' Application defined or object-defined error

を返された私は、私があれば無駄に.columns後に考えることができるすべての数値フォーマットを試してみました。

.columnsを使用してこれを行う方法はありますか?

答えて

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

..........美しい.............. –

+0

とてもシンプル!どうもありがとう – Woodside

関連する問題