1

3列のデータを1つずつ合計し、その合計を次のシートの3つのセルに貼り付けようとしています。私は次のコードを思いついた。数回は正常に動作しますが、エラーのスローを開始します。実行時エラー「1004」アプリケーション定義またはオブジェクト定義のエラー。

Sub test1()

Dim Counter As Integer
Counter = 1

For i = 1 To 3

Do Until ThisWorkbook.Sheets("Sheet1").Cells(Counter, i).Value = ""

    ThisWorkbook.Sheets("Sheet1").Range(Cells(1, i), Cells(Counter, i)).Select
    Counter = Counter + 1

Loop

    Value1 = Application.WorksheetFunction.Sum(Selection)
    ThisWorkbook.Sheets("Sheet2").Cells(1, i).Value = Value1

Next i

End Sub
4

1 に答える 1

1

アクティブでないシートの範囲を選択することはできません。これがエラーの原因です。

アクティブ以外のシートがある場合Sheet1、コードはリストしたエラーをスローします。Thisworkbook.Sheets("Sheet1").Activate簡単な修正として、ループの前に追加します。

より良い修正として、コードから select を取得するようにしてください。

于 2012-09-14T16:18:38.233 に答える