我正在尝试对不固定的整个列中的值求和。
Sub CTG()
Dim sht As Worksheet
Dim PreviousData As Long
Dim MySum As Double, ColLetter As String
Set sht = ThisWorkbook.Worksheets("Weekly")
PreviousData = sht.Cells(2, sht.Columns.Count).End(xlToLeft).Column - 1
ColLetter = Split(Cells(1, PreviousData).Address, "$")(1)
MySum = Application.WorksheetFunction.Sum(sht.Range("C:C"))
'MsgBox "The total of the ranges is " & MySum
End Sub
我想做的是转换
MySum = Application.WorksheetFunction.Sum(sht.Range("C:C"))
进入
MySum = Application.WorksheetFunction.Sum(sht.Range("ColLetter :ColLetter"))
我尝试了多种方法,但似乎不起作用。
任何帮助将不胜感激。谢谢
答案 0 :(得分:1)
Columns("C") = Columns(3) = Range("C:C")
。Option Explicit
Sub SumOfColumn()
Dim MySum As Double
With ThisWorkbook.Worksheets("Weekly")
Dim blCol As Long ' Column Before the Last Column
blCol = .Cells(2, .Columns.Count).End(xlToLeft).Column - 1
If blCol = 0 Then
MsgBox "There is no column before column ""A"".", _
vbCritical, "Sum of Column"
Exit Sub
End If
MySum = Application.Sum(.Columns(blCol))
End With
MsgBox "The column's total is '" & MySum & "'.", _
vbInformation, "Sum of Column"
End Sub
sht.Columns(PreviousData)
,例如 sht.Columns(3)
)。