ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   using the cells property for use with Application.WorksheetFunction.Sum (https://www.excelbanter.com/excel-programming/442840-using-cells-property-use-application-worksheetfunction-sum.html)

EAB1977

using the cells property for use with Application.WorksheetFunction.Sum
 
Has anyone had any success with using the Cells Propery when using the
Application.WorksheetFunction.Sum function? My code is below:

Sub AddDataMorningMil(mon As String, Day As String, yr As String,
intDOW As Integer) 'DOW = Day of Week
Dim x As Integer, row As Integer, colStart As Integer, colEnd As
Integer, varSum As Variant

' -- Friday column & starting row
colEnd = 6
row = 15

' -- Get the start column & row
Select Case intDOW
Case 2 'Monday
colStart = 2
Case 3 'TuesDay
colStart = 3
Case 4 'WednesDay
colStart = 4
Case 5 'ThursDay
colStart = 5
Case 6 'FriDay
colStart = 6
Case Else
colStart = 2
End Select

Sheets("Monthly_Summary").Select
x = 1

Do
If Cells(row, colStart).value < "" Then
col = col + 1
Else
Exit Do
End If
Loop

Sheets(mon & "_" & Day & "_" & yr).Select
Cells(row, colStart).Select
varSum = Application.WorksheetFunction.Sum(Range(Cells(row,
colStart) & ":" & Cells(row, colEnd))) 'bombs here
varSum = Format(varSum, "hh:mm:ss")
Worksheets("Monthly_Summary").Select
Cells(row, 2).Select
ActiveCell.value = varSum
End Sub

Dave Peterson

using the cells property for use withApplication.WorksheetFunction.Sum
 
Try:

varSum = Application.WorksheetFunction _
.Sum(Range(Cells(row,colStart),Cells(row, colEnd)))



EAB1977 wrote:

Has anyone had any success with using the Cells Propery when using the
Application.WorksheetFunction.Sum function? My code is below:

Sub AddDataMorningMil(mon As String, Day As String, yr As String,
intDOW As Integer) 'DOW = Day of Week
Dim x As Integer, row As Integer, colStart As Integer, colEnd As
Integer, varSum As Variant

' -- Friday column & starting row
colEnd = 6
row = 15

' -- Get the start column & row
Select Case intDOW
Case 2 'Monday
colStart = 2
Case 3 'TuesDay
colStart = 3
Case 4 'WednesDay
colStart = 4
Case 5 'ThursDay
colStart = 5
Case 6 'FriDay
colStart = 6
Case Else
colStart = 2
End Select

Sheets("Monthly_Summary").Select
x = 1

Do
If Cells(row, colStart).value < "" Then
col = col + 1
Else
Exit Do
End If
Loop

Sheets(mon & "_" & Day & "_" & yr).Select
Cells(row, colStart).Select
varSum = Application.WorksheetFunction.Sum(Range(Cells(row,
colStart) & ":" & Cells(row, colEnd))) 'bombs here
varSum = Format(varSum, "hh:mm:ss")
Worksheets("Monthly_Summary").Select
Cells(row, 2).Select
ActiveCell.value = varSum
End Sub


--

Dave Peterson

JLGWhiz[_2_]

using the cells property for use with Application.WorksheetFunction.Sum
 
varSum = Application.WorksheetFunction.Sum(Range(Cells(row,
colStart) & ":" & Cells(row, colEnd))) 'bombs here

Syntax should be:

varSum = Application.WorksheetFunction.Sum(Range(Cells(row,
colStart), Cells(row, colEnd)))

Without the Cells property being specifically qualified, the method will
apply only to the active sheet, which appears to be: Sheets(mon & "_" & Day
& "_" & yr).Select

If it were my code, I would put the sheet in a variable like:

Dim sh As Worksheet
Set sh = Sheets(mon & "_" & Day & "_" & yr)
varSum = Application.WorksheetFunction. _
Sum(Range(sh.Cells(row, colStart), sh.Cells(row, colEnd)))



"EAB1977" wrote in message
...
Has anyone had any success with using the Cells Propery when using the
Application.WorksheetFunction.Sum function? My code is below:

Sub AddDataMorningMil(mon As String, Day As String, yr As String,
intDOW As Integer) 'DOW = Day of Week
Dim x As Integer, row As Integer, colStart As Integer, colEnd As
Integer, varSum As Variant

' -- Friday column & starting row
colEnd = 6
row = 15

' -- Get the start column & row
Select Case intDOW
Case 2 'Monday
colStart = 2
Case 3 'TuesDay
colStart = 3
Case 4 'WednesDay
colStart = 4
Case 5 'ThursDay
colStart = 5
Case 6 'FriDay
colStart = 6
Case Else
colStart = 2
End Select

Sheets("Monthly_Summary").Select
x = 1

Do
If Cells(row, colStart).value < "" Then
col = col + 1
Else
Exit Do
End If
Loop

Sheets(mon & "_" & Day & "_" & yr).Select
Cells(row, colStart).Select
varSum = Application.WorksheetFunction.Sum(Range(Cells(row,
colStart) & ":" & Cells(row, colEnd))) 'bombs here
varSum = Format(varSum, "hh:mm:ss")
Worksheets("Monthly_Summary").Select
Cells(row, 2).Select
ActiveCell.value = varSum
End Sub





All times are GMT +1. The time now is 11:40 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com