String 使用For从单元格中移动
在我的宏中,我需要的是:从一个工作表(例如:W1)中选择一个完整的单元格,然后将结果粘贴到另一个工作表(W2)单元格(A1)中,然后选择W1的另一列,求和并粘贴到A2中,依此类推。 我写的是:String 使用For从单元格中移动,string,excel,vba,variables,for-loop,String,Excel,Vba,Variables,For Loop,在我的宏中,我需要的是:从一个工作表(例如:W1)中选择一个完整的单元格,然后将结果粘贴到另一个工作表(W2)单元格(A1)中,然后选择W1的另一列,求和并粘贴到A2中,依此类推。 我写的是: Sub SumasTbf() Dim Seleccion As Range Dim Suma Worksheets("hoja2").Activate Set Seleccion = Range(ActiveSheet.Range("B1"), ActiveSheet.Range("B1").
Sub SumasTbf()
Dim Seleccion As Range
Dim Suma
Worksheets("hoja2").Activate
Set Seleccion = Range(ActiveSheet.Range("B1"), ActiveSheet.Range("B1").End(xlDown))
Suma = WorksheetFunction.Sum(Seleccion)
Worksheets("hoja3").Range("F1") = Suma
现在我想用a来移动B1到C1的范围,但我不知道如何移动B到C,你能帮我吗!在处理行的情况下,它将是“B”和x??(另一个问题)。。。等待回答这应该可以:
Sub SumasTbf()
Dim myRange As Range
Dim Suma As Long, lastRow As Long, i as Long
For i = 2 To 10 'This will loop from column B to J
With Worksheets("hoja2")
lastRow = .Cells(1, i).End(xlDown).Row
Set myRange = .Range(.Cells(1, i), .Cells(lastRow, i))
Suma = WorksheetFunction.Sum(myRange)
End With
'Now, let's record the sum in A1, then A2, etc.
' use i-1 since i starts at 2
Worksheets("hoja3").Cells(i - 1, 1) = Suma
Next i
End Sub
主要是,当需要在范围上迭代时,可以使用范围(单元格([row#]、[column#])、单元格([row#]、[column#])
。然后只需使用一个变量来循环(i
)
此外,我还更改了
选择
,因为我假设VBA使用活动选择的方式也是如此。我把它改成了myRange
,这样就不会有潜在的混乱了。你在做什么?微软Excel?