< návrat zpět
MS Excel
Téma: Čítač VBA
Zaslal/a Dejwing 20.6.2017 9:30
Dobrý den, vzhledem k tomu, že se mi k množství vzorců začíná značně excel sekat, napadlo mě už jen jedno řešení, které by mi velice pomohlo. Pokud nahradím všechny vzorce za jednoduchý čítač, pak bude vše naprosto skvělé :)
Funkčnost VBA: po zadání do pole B1 číslo "1" bych si přál, aby všude, kde je ve sloupci C = ano přičetla do sloupce hned naproti ve sloupci D přičetla 1, pokud znova napíši do pole B1 číslo "1" tak všude kde je ano, tak bude 2ka :)
Souhrn:
C1 = Ano
C2 = Ne
C3 = ano
C4 = ne
atd...
při zadání 1 do pole B1 se přičte jednička do pole D1 a D4 a bude se pokaždé přičítat, pří dalším zadání jedniičky bude D1 = 2 a D 4 =2 když bude stále ano. Moc by mi to pomohlo, děkuji :)
Příloha: 36700_priklad.7z (7kB, staženo 24x)
elninoslov(20.6.2017 10:41)#036703 Asi tak ?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim AnoNe(), Citac(), Riadkov As Long, i As Long
If Target.Address = "$B$1" Then
If Target.Value2 = 1 Then
Riadkov = Cells(Rows.Count, 3).End(xlUp).Row
AnoNe = Cells(1, 3).Resize(Riadkov).Value2
Citac = Cells(1, 4).Resize(Riadkov).Value2
For i = 1 To Riadkov
If UCase(AnoNe(i, 1)) = "ANO" Then
If IsNumeric(Citac(i, 1)) Then Citac(i, 1) = Citac(i, 1) + 1
End If
Next i
Application.EnableEvents = False
Cells(1, 4).Resize(Riadkov).Value2 = Citac
Target.ClearContents
Application.EnableEvents = True
End If
End If
End Subcitovat
Dejwing(20.6.2017 12:06)#036708 To je téměř ono, akorát to nemá přičítat hodnotu, ale jedničku, kdybych chtěl třeba upravit, že pokaždé, kdy tam napíšu koš, tak všichni kdo mají ano, tak připočte +1. Prosím o tuto drobnou úpravu, jinak moc děkuji :)
citovat
elninoslov(20.6.2017 14:07)#036710 Upravené v predošlom príspevku.
citovat
Dejwing(20.6.2017 17:17)#036711 Děkuji, to je přesně ono :)
citovat
Nakoniec ma niečo ešte napadlo (nový kód v pôvodnom príspevku). Ak sú Ano/Ne počítané vzorcom, pôvodné makro by ho nahradilo hodnotou, toto nové nie.
citovat