Estoy tratando de que si presiona un botón en Excel, sume un valor en una columna a la otra. por ejemplo,

Columna A, Columna B

1 [5], [5]

2 [6], [10]

Quiero que el resultado final sea:

Columna A, Columna B

1 [10], [5]

2 [16], [10]

Sub Button2_Click()
  Dim i As Integer
  i = 1 
  Do While Cells(i, 1).Value <> ""
    Cells(i, 1).Value = Cells(i, 1).Value + Cells(i, 2).Value
    i = i + 1
  Loop
End Sub
0
simsim619 21 jul. 2020 a las 07:50

1 respuesta

La mejor respuesta

Es mejor hacer un bucle hasta la última fila de una columna, así es como lo encuentra (en la columna A):

lastRow = Cells(Rows.Count, 1).End(xlUp).Row

Entonces, al ponerlo en su código, debería verse así:

Sub Button2_Click()
    ' declare ints as Long, as they are of size of Long anyway
    Dim i As Long, lastRow As Long
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 1 To lastRow
        Cells(i, 1).Value = Cells(i, 1).Value + Cells(i, 2).Value
    Next
End Sub

Además de eso, no veo nada malo en tu código actual.

0
Michał Turczyn 21 jul. 2020 a las 04:53