好的,这是我尝试过的:
Sheets("ProDiver ored").Range("X" & i).Value = Sheets("ProDiver ored").Range("W2:W" + i).Value但它不起作用。
我要做的是让宏获取W1:Wx,并在X列中汇总这些内容。
换句话说,它应该是这样的:
X1 = W1
X2 = W1 + W2
X3 = W1 + W2 + W3
X4 = W1 + W2 + W3 + W4诸若此类。
你们能指导我怎么做吗?当然,我希望它用于VBA Excel宏。
发布于 2015-07-09 19:19:41
正如Siddharth建议的(与评论略有不同):
这会将公式从X1向下粘贴到数据区域的底部:
Sub JustFormula()
With ThisWorkbook.Worksheets("Sheet1")
.Range(.Cells(1, 24), .Cells(Rows.Count, 23).End(xlUp).Offset(, 1)).Formula = "=SUM($W$1:$W1)"
End With
End Sub对该过程稍作更改,您就可以只使用这些值:
Sub JustValues()
Dim MyRange As Range
With ThisWorkbook.Worksheets("Sheet1")
Set MyRange = .Range(.Cells(1, 24), .Cells(Rows.Count, 23).End(xlUp).Offset(, 1))
End With
MyRange.Formula = "=SUM($W$1:$W1)"
MyRange.Value = MyRange.Value
End Sub如果您的工作簿需要一段时间才能计算,您可能希望在.Value = .Value行之前放置一个DoEvents。
发布于 2015-07-09 18:23:36
试一试
Sheets("ProDiver ored").Range("X" & i).Value = Application.Sum(Sheets("ProDiver ored").Range("W1:W" & i))上面假设您不需要公式来将值相加,只需要计算结果
发布于 2015-07-09 18:26:01
如果您想要像您的示例中那样拥有连接的所有子部分,那么您应该有一个循环:(未测试!)
Dim cell As Object
Dim j As Integer
Dim newString As String
Set newString = ""
Set j = 0
For cell in Sheets("ProDiver ored").Range("W:W") 'entire column W
newString = newString + cell.Value
Range("X" & j).Value = newString
j = j + 1
Nexthttps://stackoverflow.com/questions/31314439
复制相似问题