Próbuję go zrobić, aby nacisnąć przycisk w Excelu, podsumowuje jedną wartość na jednej kolumnie na drugą. na przykład,

Kolumna A, kolumna b

1 [5], [5]

2 [6], [10]

Chcę, aby ostatni wynik powinien być:

Kolumna A, kolumna 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 lipiec 2020, 07:50

1 odpowiedź

Najlepsza odpowiedź

Lepiej pętli do ostatniego wiersza w kolumnie, oto jak go znajdziesz (w kolumnie A):

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

Więc umieszczanie go w swoim kodzie, powinno wyglądać:

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

Poza tym nie widzę nic złego w bieżącym kodzie.

0
Michał Turczyn 21 lipiec 2020, 04:53