Prikazi cijelu temu 09.01.2017 11:43
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re: ubacivanje prazne celije radi uskladivanja dvije kolone
ok , probacu kako radi kad stignem, a sada jedno pitanje
Vidim da ti prvo stavis funkciju, a onda kod. Kod zxz je obrnuto . On stavlja funkcije na kraju. Mozda je tvoj nacin bolji jer prvo imas funkcije na uvid pa pregledas kod, a mozda je stvar navike kako se tko navikne. Dobro, to nije pitanje to je komentar.

1. ono for m=1 to 5 je ukupno u nizu , imamo sljiva,visnja,tresnja,breskva,marelica 5 stvari. Znaci ja ako imam vise tih u nizu onda stavim veci broj, jel tako?

2. for i=1 to 40 je vjerojatno brojac o kojem si govorio. Malo kad cu isprobavati kod , ali za sada pretpostavljam da bi trebao broj biti puno veci zbog pomicanja celija prema dole?

PreuzmiIzvorni kôd (Visual Basic):
  1. Public Function Unizu(S As Range) As Boolean
  2.  
  3. Dim Nizz As Range
  4. Set Nizz = Range("M16", Range("M16").End(xlDown)) 'gde su celije za proveru
  5.  
  6. Unizu = False
  7.  
  8. For Each st In Nizz.Cells
  9.   If (S = st) Then
  10.   Unizu = True
  11.   GoTo kraj
  12.   End If
  13. Next st
  14. kraj:
  15. End Function
  16.  
  17. Public Sub slozi()
  18.  
  19. Dim r As Range
  20. Dim uzorak As Range
  21. Dim selekcija As Range
  22. Dim pocetna As Range
  23.  
  24. Set pocetna = Range("B2") 'odakle krece
  25. Set uzorak = Range("A2") 'prva celija sa kojom uporedjujemo
  26.  
  27. For m = 1 To 5
  28.     Set r = pocetna
  29.     For i = 1 To 40
  30.         If Unizu(r) Then     'proveravamo da li se vocka nalazi u grupi za slaganje
  31.  
  32.             Do Until r = uzorak
  33.                 Set selekcija = Range(r, r.End(xlDown)) 'pomeramo celiju i sve povezane
  34.                selekcija.Select                        'ispod nje za po jedno mesto na dole
  35.                Selection.Cut
  36.                 ActiveCell.Offset(1, 0).Range("A1").Select
  37.                 ActiveSheet.Paste
  38.                 Set uzorak = uzorak.Offset(1, 0)         'pa uzimamo sledecu ispod za uporedjivanje
  39.                                            'i tako dok ne poklopimo sa prvom kolonom
  40.            Loop
  41.         End If
  42.  
  43.         Set r = r.Offset(1, 0)
  44.         Set uzorak = uzorak.Offset(1, 0)
  45.  
  46.     Next i
  47.     Set pocetna = pocetna.Offset(0, 1) 'prelazak na sledecu kolonu
  48.    Set uzorak = Range("A2")
  49. Next m
  50. End Sub

ovo Offset mi je strano, ali o tome cemo drugi puta, za sada cu to samo prepisati bez pameti
hvala.
zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 09.01.2017 13:23 od strane Avko.