Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[VBA] Automatyczne sumowanie i wstawianie do komórki

Viszna 07 Paź 2010 14:43 6854 1
  • #1 07 Paź 2010 14:43
    Viszna
    Poziom 12  

    Witam!
    Nie będę owijał w bawełnę: to jest mój pierwszy kontakt z vba w excelu i poległem.
    Problem jest taki(oczywiście bardzo upraszczając arkusz): wpisuję wartości do komórek: A1, A3, A5 i w momencie opuszczania komórki A5 (wciśnięcie entera) chciałbym aby w A6 została wpisana wartość SUMY z A1,A3,A5 następnie kursor ustawia się w A6 i jeżeli wartość mi odpowiada to enterem przechodzę dalej, natomiast jeżeli wartość powinna być inna niż automatyczne wyliczenie to wpisuję własne wyliczenie.
    Nie mogę zastosować formuły w A6 bo po wpisaniu własnej wartości formuła jest nadpisywana i przy kolejnym otwarciu pliku nie ma już formuły :cry:

    Jeżeli jest możliwość to bardzo bym prosił o kompletne makro i jak je zastosować, bo próbowałem pisać makra i nawet się udało, ALE wykonują się po wciśnięciu przycisku (skrótu) a mi zależy aby wszystko "leciało automatem"

    Witam ponownie!
    Poradziłem sobie metodami prób i błędów :)

    Code:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$A$6" Then
      Range("A6").Value = Range("A1").Value + Range("A3").Value + Range("A5").Value
    End If
    End Sub



    pozdrawiam
    Viszna

    0 1
  • #2 07 Paź 2010 15:13
    arnoldziq
    Moderator Programowanie

    Zacznij od wprowadzenia takiej procedury do swojego arkusza.

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    
       If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
       If Target.Address = "$A$5" Then
          Range("A6").Value = Range("A5").Value + Range("A3").Value + Range("A1").Value
       End If
    End Sub

    Po dokonaniu zmiany i wyjściu z komórki A5, otrzymasz w A6 wynik z dodania A1,A3 i A5.

    0