napisał: xeo postów: 7
umieszczony: 16 października 2005 19:57
|
|
To nie można to tak zrobić żeby odczytywało tylko wynik w komórki a nie formułe? |
|
napisał: xeo postów: 7
umieszczony: 16 października 2005 16:20
|
|
Komórke C1 dałem jako przykład, sprawa wygląda tak że pobieram dane do excela z platformy walutowej przez DDE i mi wyświetla przykładowo w komórke D1 wartość 4,20 potem się zmienia na 4,21 za chwilke wraca do 4,20 itd. W komórce C1 mam wpisane liczby 4,20 w C2 4,21 w C3 4,23 no i jeżeli liczba w D1 jest 4,21 to w A2 się pojawia 1 (w A2 dlatego że w C2 jest 4,21) i ta jedynka ma się dodać do liczby w B2, jak cena się zmieni na 4,20 to w A2 jest 0 a w A1 się pojawia 1 i wtedy ta jedynka się dodaje w B1 itd. |
|
napisał: Stanislaw postów: 109
umieszczony: 16 października 2005 15:49
|
|
W takim razie należałoby zmienić kod tak,
aby reagował na zmiany w komórce C1.
Zdarzenie Change jest wywoływane, kiedy komórka jest zmieniana,
oprócz przypadku, kiedy wartość komórki zmienia się
w wyniku przeliczenia za pomocą formuły.
--
Stanislaw |
|
napisał: xeo postów: 7
umieszczony: 16 października 2005 14:43
|
|
No niestety jest problem, jak ręcznie wpisuje w A1 liczbę 1 to w B1 mi dodaje tą jedynke ale jak automatycznie mi zmienia w A1 z 0 na 1 niestety niczego się nie dzieje w B1. Wpisałem w komórkę A1 =C1 i w C1 zmieniałem na 1 i 0, oczywiście w A1 też się zmieniało na 1 i 0 ale te jedynki się nie dodawały do B1. Jest jakiś sposób na to? |
|
napisał: xeo postów: 7
umieszczony: 15 października 2005 22:34
|
|
Dzięki, świetnie działa
Pozdrawiam |
|
napisał: Stanislaw postów: 109
umieszczony: 15 października 2005 21:58
|
|
Dla całej kolumny "A" czyli 1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Value = 1 Then
Target.Offset(0, 1).Value = _
Target.Offset(0, 1).Value + 1
End If
End If
End Sub
--
Stanislaw |
|
napisał: xeo postów: 7
umieszczony: 15 października 2005 21:27
|
|
Mam jeszcze jedno pytanie, bo muszę to zrobić tak samo w kolejnych komórek w dół czyli w A2, A3, A4 itd. (jest troche tych komórek, ponad 1000) też się zmienia na 1 lub 0 i oczywiście B2 ma dodawać każdą liczbę 1 która się pojawia w A2, B3 dodaje jedynki z A3 itd. Można to też zrobić? |
|
napisał: xeo postów: 7
umieszczony: 15 października 2005 21:16
|
|
Wielkie dzięki :)
Pozdrawiam |
|
napisał: Stanislaw postów: 109
umieszczony: 15 października 2005 20:29
|
|
Wpisz/wklej kod do modułu arkusza, w którym ma następować sumowanie:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "A1" Then
If Range("A1").Value = 1 Then
Range("B1").Value = Range("B1").Value + 1
End If
End If
End Sub
--
Stanislaw |
|
napisał: xeo postów: 7
umieszczony: 15 października 2005 16:43
|
|
W excelu wartość komórki A1 mi się zmienia automatycznie co jakiś czas na 1 albo 0, i chcę żeby w komórce B1 była dodawana liczba 1 za każdym razem jak w komórce A1 się pojawi 1. Na przykład w komórce B1 mam liczbę 0 i w A1 też jest 0, za jakiś czas w A1 się pojawia 1 więc w komórce B1 też się pojawia 1 (1+0=1), za chwile w komórce A1 się zmienia na 0 ale wartość w komórce B1 zostaje 1, za jakiś czas jak sie ponownie pojawi w A1 1 to w B1 jest już 2 (1+1=2). Czy można to w jakiś sposób zrobić w vba? |
|
wstecz 1 dalej wszystkich stron: 1
|