znaczacy > comp.lang.* > comp.lang.vbasic

lach (15.12.2008, 15:46)
Witam!
Siedzę nad problemem już 2 dni i nic nie mogę wymyślić. Wiem żesprawa
jest prosta, ale nie mogę sobie poradzić z tą funkcją w VBA.
Napisałem funkcję w Excelu , ale ponieważ ona na bieżąco analizuje
cały arkusz więc przez to spowalnia działanie innych makr co powoduje
że moje rozwiązanie jest nie do przyjęcia. Problem jest następujący:
Załóżmy że mamy dane jedynie w dwóch kolumnach. Rekordów jest jakaś
liczba n. Chcę napisać funkcję która obliczy mi ilość rekordów, kiedy
w kolumnie pierwszej jest 1 ORAZ w kolumnie 2 jest np. 1,32, 51 ,
6,7 .... (czyli jakieś wartości definiowane przeze mnie)
Z góry dziękuję za pomoc i wszystkie sugestie
Pozdrawiam
Piotrek
Jacek (15.12.2008, 17:56)
Zakladajac, ze wartosci zdefiniowane przez Ciebie sa w kolumnie C, a dane
sa w A i B, to cos w tym stylu:

Sub qq()
x = 1
While Cells(x, 1) <> ""
y = 1
Do While Cells(y, 3) <> ""
If Cells(x, 1) = 1 And Cells(x, 2) = Cells(y, 3) Then
N = N + 1
Exit Do
End If
y = y + 1
Loop
x = x + 1
Wend
Cells(1, 4) = N
End Sub
radoslaw85 (26.06.2019, 14:57)
a czy tak nie prosciej:

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

'mozesz dodatkowo wynik wpisac sobie w jakas komórke:
Range("D1") = lastR

i odrazu wiesz ile masz wierszy, a to identyfikuje ci liczbe rekordów...
Podobne wątki