0

新しいワークブックを開いて、列「A」の値を合計し、最初の空白セルに貼り付けようとしています。しかし、空白のセルには合計が表示されません。

Path = ActiveWorkbook.Path
Filename = InputBox("Enter an input file name")
MsgBox Filename
InputFile = Path & "\"

InputFile = InputFile & Filename
MsgBox InputFile
Workbooks.Open Filename:=InputFile

'Activating the Raw Data Report
Set InputFile = ActiveWorkbook
Set InputFileSheet = InputFile.Sheets("Sheet1")
InputFileSheet.Select
InputFileSheet.Activate

Set r = Range(Range("A1"), Cells(Rows.Count, "A"))
Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) = Application.WorksheetFunction.Sum(r)
4

2 に答える 2

1

いくつかの小さな変更と、ルーチンを短縮できると思います。

Dim Path As String, Filename As String, InputFile As String
Path = Excel.ActiveWorkbook.Path
Filename = InputBox("Enter an input file name")
InputFile = Path & "\" & Filename

MsgBox InputFile

Excel.Workbooks.Open Filename:=InputFile

 'Activating the Raw Data Report
Dim rawData As Excel.Workbook
Set rawData = Excel.Workbooks(Filename)

Dim r As Excel.Range
With rawData.Sheets("Sheet1")
   Set r = .Range(.Range("A1"), .Cells(.Rows.Count, "A"))
   .Range("A" & .Cells(.Rows.Count, 1).End(Excel.xlUp).Row + 1) = Excel.Application.WorksheetFunction.Sum(r)
End With

コードを完全な実稼働システムに入れる必要がある場合は、コードについてより防御的に考え始める必要があります。サントッシュの答えは、より防御的なスタイルを達成する方法について多くの助けを与えてくれます。

于 2013-05-05T13:29:54.787 に答える