View Single Post
Staro 07.03.2014., 14:25   #16
Sa_Stilom
Premium
 
Sa_Stilom's Avatar
 
Datum registracije: May 2006
Lokacija: Croatia
Postovi: 2,717
Citiraj:
Autor Kruno M Pregled postova
Eo ga:

Code:
Sub Sort()
'
' Sort Macro
' Macro recorded 07.03.2014 by K
'
' Keyboard Shortcut: Ctrl+k
'
    Range("A2:D218").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
OK, evo ja sam riješio (ovo je riješeno pomoću gumba, a ti sebi implementiraj kako god želiš) - Ovo je pojednostavljena verzija unutar jednog sheeta, a ti sad sebi gradi tako da ga samo pozicioniraš da iz drugog sheeta provjerava u prvi, te naravno da zadovoljava uvjet koji tebi treba:

Code:
Private Sub CommandButton1_Click()

Dim i As Integer
i = 1

Cells(1, 2).Select

Do While Cells(i, 1) <> ""
If Cells(i, 1) > 0 Then
    ActiveCell = Cells(i, 1)
    i = i + 1
    ActiveCell.Offset(1, 0).Select
Else
   i = i + 1
End If
Loop
End Sub
VBA radi sljedeće:
Provjerava u prvoj koloni od prve vrijednosti (znači kolona A) da li je vrijednost veća od 0

Kolona sadrži:
1
2
-1
-2
3
4
-4
-3
-4
5
6
7
-5
-6
8
9
-7
-8
-9

Ako je veća od nula, prepiši pa se pomakni dalje, ako nije, samo povećaj i

Rezultat je da dobijem (u drugoj koloni (B) samo pozitivne brojeve jedan ispod drugog):
1
2
3
4
5
6
7
8
9
__________________
MC
Sa_Stilom je offline   Reply With Quote