BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki
melmak
melmak
327 pkt.
Junior

 
0


Witam!!!
Czy ktos zna jakis prosty sposob na rozwiazanie tego zadania:
Jest 10 liczb i trzeba je podzielic na parzyste i nieparzyste i ustawic rosnaco w 2 kolumnach w 1 parzyste w 2 nieparzyste. Moze zadanko jest proste, ale nie moge wpasc na pomysl. Mam juz je podzielone ale jak je pozniej ulozyc???





kruklanecki
kruklanecki
202 pkt.
Junior
 
0


Nie chwalac sie mocno znam :)

Czyzby to byl jakis konik Pana Profesora na zaliczenie na jakiejs prywatnej uczelni?

W tamtym roku pisalem gdzies w necie rozwiazanie a i niania tez z tym przychodzila (i ona wlasnie studiuje na takiej samozaliczajacej sie uczelni )...

Pomecz sie choc troszke i poszukaj.

melmak
melmak
327 pkt.
Junior
 
0


Heh zadne zaliczenie potrzebuje tego w pracy. Jak nie chcesz napisac nic konstruktywnego to nic nie pisz, a nie cwaniaczysz.

Piotr Wargin
Piotr Wargin
128 pkt.
Junior
 
0


dzielisz pewnie czyms takim =JEŻELI(ISEVEN(A1);A1;)
a moze starczy przesortowac pierwotne 10 liczb?

vba jest dopuszczalne?

--
Piotr Wargin
melmak
melmak
327 pkt.
Junior
 
0


Dziele przez 2 i sprawdzam czy zostala reswzta, to juz mam, ale jak je poukladac pozniej w 2 kolumnach??? Moze byc vba. To nie jest na zaliczenie, nic zwiazane z uczelnia, wiec technika dowolna aby dzialalo.

Piotr Wargin
Piotr Wargin
128 pkt.
Junior
 
0


dla sportu napisalem procedurke ktora to wykonuje ;)
ale pewno istnieje jakis prostszy sposob niz VBA
Sub test()
Dim ws As Worksheet
Dim i As Byte, j As Byte, k As Byte
Dim tmp As Integer, liczby(1 To 10) As Integer

Set ws = ActiveSheet
For i = 1 To 10
liczby(i) = ws.Cells(i, 1)'kolumna z liczbami
Next

For i = 1 To 10
For j = 1 To 10 - i
If liczby(j) > liczby(j + 1) Then
tmp = liczby(j + 1)
liczby(j + 1) = liczby(j)
liczby(j) = tmp
End If
Next
Next

j = 1
k = 1
For i = 1 To 10
If liczby(i) Mod 2 = 1 Then
ws.Cells(j, 3) = liczby(i)'kolumna nieparzysta
j = j + 1
Else
ws.Cells(k, 4) = liczby(i)'kolumna parzysta
k = k + 1
End If
Next
End Sub --
Piotr Wargin

--
Piotr Wargin
melmak
melmak
327 pkt.
Junior
 
0


Wielkie dzieki, juz mi wszystko smiga, juz zakumalem o co chodzi w VBA.

melmak
melmak
327 pkt.
Junior
 
0


A mozna jakos zabezpieczyc arkusz aby nie byla mozliwa modyfikacja przez uzytkownika i dac mozliwosc modyfikacji niektorych pol ???

Piotr Wargin
Piotr Wargin
128 pkt.
Junior
 
0


tak, mozesz zablokowac arkusz do edycji:
Tools -> Protection -> Protect Sheet...
oraz ustawic zakresy komorek, w ktorych mozna zmieniac dane:
Tools -> Protection -> Allow Users to Edit Ranges...
(zostaw haslo puste, by excel nie pytal o haslo przy edycji komorek)

jesli chcesz zablokowac mozliwosc zmieniania/przegladania mark VBA, w edytorze makr:
zTools -> VBAProject Properties... -> Protection --
Piotr Wargin

--
Piotr Wargin
Zibi0802
Zibi0802
352 pkt.
Junior
 
0


Ja samym Excelem zrobiłem to tak na raty :

Kolumna A1-A10 zawiera liczby 1-10
Kolumna B1-B10 zawiera formułę =ZAOKR.DO.PARZ(A1) itd aż do 10 po przeciągnięciu
Kolumna C1-C10 zawiera formułę =ZAOKR.DO.NPARZ(A1) itd aż do 10 po przeciągnięciu
Kolumna D1-D10 zawiera formułę =JEŻELI(A1=B1;A1) itd aż do 10 po przeciągnięciu
Kolumna E1-E10 zawiera formułę =JEŻELI(D1=FAŁSZ;A1) itd aż do 10 po przeciągnięciu
I tak mamy dwie kolumny, które zawierają Liczby parzyste i nieparzyste.
Co do sortowania to tylko jeden click na nagłówkach kolumn
Pozostało ew. usunąć zbedne wartości "FAŁSZ".

Wiem, że jakiś spec od Excela machnąłby to jedną formułą, ale tak jakoś mi było prościej :) __________
Pozdrawiam
Zibi

__________

Pozdrawiam Zibi

zygio
zygio
29 pkt.
Nowicjusz
 
0


W kolumnie A masz liczby od 1 do 10
W kolumnie B formuła =MOD(A1;2)
W kolumnie C formuła =JEŻELI(B1=1;A1;"") nieparzyste
W kolumnie D formuła =JEŻELI(B1=0;A1;"") parzyste

Piotr Wargin
Piotr Wargin
128 pkt.
Junior
 
0


a skracajac mozna od razu:
=JEŻELI(MOD(A1;2) =1;A1;"")
w office 2007 jeszcze krocej:
=JEŻELI(ISEVEN(A1);A1;)

jest jednak wielkie ALE:
kolumny wynikowe uzskujemy jako formuly, a formul NIE DA SIE SORTOWAC
mozna przesortowac kolumne wejsciowa, ale wtedy wynikowe beda 'dziurawe' --
Piotr Wargin

--
Piotr Wargin
Zibi0802
Zibi0802
352 pkt.
Junior
 
0


Właśnie o tym mówiłem :) . Bo do tego co napisałeś wystarczy skopiować i wkleić wartości a tu już sortowanie jest możliwe. __________
Pozdrawiam
Zibi

__________

Pozdrawiam Zibi

Udziel odpowiedzi

pkt.
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.