Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Problem z petla
anonim




Typ: Nie zarejestrowany
Problem z petla

Jestem zupelnie niedoswiadczony w tych sprawach, a chcialem zrobic sobie arkusz z okienkami dialogowymi i mam maly problem z opisaniem petli umozliwiajacej mi wyszukanie i wprowadzenie daty z okna dialogowego w pierwsza wolna komorke w zakresie A7:A500. Chodzi mi o to, aby przy wprowadzaniu informacji z okna dialogowego wpis byl dokonywany zawsze w pierwszej wolnej komorce pierwszej kolumny. Komorki maja format daty. Probowalem zastosowac petle For...Next, ale zawsze cos mi nie dzialalo. Po prostu brak doswiadczenia i podstawowej wiedzy w tym zakresie. Doradzcie jak to powinno wygladac.

29-06-2004 10:39
  
Piotr T




Typ: neutral
Postów: 176
Zarejestrowany: May 2004

Dim T as Integer
For T = 7 to 500
If Cells(T,1) = "" Then
Cells(T,1) = DATA z okna dialogowego
Exit for
End if
Next


_____________________________________________
Visual Basic.NET - Mercedes dla programistów

29-06-2004 13:05
Pokaż profil Piotr T  Wyślij email do Piotr T   Odwiedź stronę Piotr T  
anonim




Typ: Nie zarejestrowany

Takie proste, ze sie nie moge nadziwic. Wlasciwie to tak mialem, ale chyba cos za bardzo mieszalem ze zmiennymi.

Dzieki.

29-06-2004 13:56
  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Zauważ, że ta pętla ma jedną wadę...

A jak danych będziesz miał więcej niż 500, np. 2500?

Dim T as Integer

T = 7 'wartość początkowa

Do While  Cells(T,1) <> ""
    T = T +1   
Loop

Cells(T,1) = DATA z okna dialogowego


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

01-07-2004 23:40
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Piotr T




Typ: neutral
Postów: 176
Zarejestrowany: May 2004

No kolego losmac jak bym miał więcej danych, to trochę inaczej zaczynam deklarację zmiennej typu T
Integer ma ograniczenie do liczby 32768, a więc układ typu:
Do While  Cells(T,1) <> ""
    T = T +1   
Loop

przy wierszu numer 32768 spowoduje przepełnienie, natomiast pętlą For...Next możesz ustalić górną granicę pętli - jak mamy podpowiadać niedoświadczonemu koledze to róbmy to poprawnie

[Post edytowany dnia 03-07-2004 06:59 przez Piotr T]


_____________________________________________
Visual Basic.NET - Mercedes dla programistów

03-07-2004 06:57
Pokaż profil Piotr T  Wyślij email do Piotr T   Odwiedź stronę Piotr T  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Ja mam podpowiadać rozwiązania i spowodować, że ktoś pozna więcej niż jedno rozwiązanie, bo o to przecież chodzi.
Deklarację typu i zakres w jakim dana zmienna liczbowa działa to każdy powinien znać, znim usiądzie do programowania. Zresztą, na forum nie mam na to czasu. Chcesz, to poczytaj moją książkę, Piotrze T.
Poza tym, przyjacielu, nie zdążysz dojść do 32768, bo ilość wierszy w Excelu to 32536 Zatem, górne ograniczenie powtórzeń pętli jest w tym wypadku ograniczone ilością wierszy w Excelu. Więc program sam się "wyłoży" i wierzę, że nasz anonim sam dojdzie o co chodzi.
Dzięki...


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

03-07-2004 07:34
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Piotr T




Typ: neutral
Postów: 176
Zarejestrowany: May 2004

hmmm... Ilość wierszy w excelu = 65536
Jeśli znajdę czas to nie omieszkam przeczytać Twojej książki - wiedzy nigdy nie za dużo , choć teraz w związku z moją pracą raczej zajmuję się programowaniem w Visual Basic.NET (VStudio 2003).


_____________________________________________
Visual Basic.NET - Mercedes dla programistów

03-07-2004 09:30
Pokaż profil Piotr T  Wyślij email do Piotr T   Odwiedź stronę Piotr T  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

Masz rację, moje gapowe ilość wierszy w Excelu to 65536, zatem, najpierw dojdzie do przepełnienia.

Piotrze T należy Ci się pochwała za dokładną analizę. Dalej jednak jestem za tym, by nie podawać wszystkiego "na tacy", a kreować, ukierunkowywać, podpowiadać...


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

04-07-2004 12:08
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Wszystkich odpowiedzi: 7 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1