Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"

[es] :: Office :: Excel :: Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"

[ Pregleda: 3883 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

backspin
Marijo Slanic
Agent u pozivnom centru, Vip

Član broj: 194324
Poruke: 4
87.252.151.*



Profil

icon Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"18.09.2008. u 15:23 - pre 189 meseci
Pozdrav !
Nisamo naisao na nista slicno pa molim pomoc.


TRebao bih makro koji ce u ovisnosti o vrijednosti u celiji ispod nje umetnuti novi red ( radi se o office-u 2003)

Npr:

Ako je vrijednost u A4 razlicita od 3:30- umetni novi red ispod nje
Ako je vrijednost u A5 razlicita od 4:00- umetni novi red ispod nje...
Ako je vrijednost u A5 razlicita od 4:30- umetni novi red ispod nje...
i tako do A48

Hvala svima !
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2267
194.106.167.*

Sajt: www.gowi.rs


+109 Profil

icon Re: Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"20.09.2008. u 12:32 - pre 188 meseci
Umetanje reda obavlja se komandom
Code:
c.EntireRow.Insert 

gde je c neka ćelija
Međutim, na ovaj način umeće se red iznad ćelije c. Ako hoćeš ispod možeš da se pozicioniraš preko Offset metode na jednu ćeliju ispod posmatrane ćelije c i onda umetneš red
Code:
c.Offset(1).EntireRow.Insert

Dakle potprogram koji umeće jedan red
Code:
Sub UmetniRed(c As Range, strUslov As String)
' Ukoliko je u celiji c zadati tekst
' Umece red ispod
'
If c.Text = strUslov Then
  c.Offset(1).EntireRow.Insert
End If
End Sub

E sad, potrebno je u petlji za zadate redove pozvati ovaj potrprogram, ali ne znam kako formiraš uslov. Nisam ni razumeo da li je 3:30 tekst ili vreme (numerički podatak)? Najbolje bi bilo da postaviš kratak primer početne situacije i šta hoćeš da postigneš pa da dovršimo ovaj makro.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

gvlaisavljevic
sluzbenik,osiguranje

Član broj: 194499
Poruke: 13
*.adsl-3.sezampro.yu.



Profil

icon Re: Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"20.09.2008. u 16:53 - pre 188 meseci
Trebalo bi prvo definisati celije A1,A2,...A48 unutar radnog lista,dodeliti im imena npr.VREME1,VREME2,....VREME48.
Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("sheet1")
Select Case Target.Address
 Case ws.Range("vreme1").Address
   If ws.Range("vreme1") <> "3:30"Then UbaciRed ws.Range("vreme1").Offset(1, 0)
 Case ws.Range("vreme2").Address
   If ws.Range("vreme2") <> "4:00" Then UbaciRed ws.Range("vreme2").Offset(1, 0)
End Select
End Sub

Sub UbaciRed(RG As Range)
RG.EntireRow.Insert
End Sub



Ovaj kod treba prosiriti da ima ukupno 48 „casa“.

[edit] dodat završni dio, /code

[Ovu poruku je menjao Ivek33 dana 21.09.2008. u 11:10 GMT+1]
 
Odgovor na temu

backspin
Marijo Slanic
Agent u pozivnom centru, Vip

Član broj: 194324
Poruke: 4
87.252.151.*



Profil

icon Re: Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"23.09.2008. u 10:26 - pre 188 meseci
Prvo hvala na odgovorima.
Na zalost nisam uspio ni sa jednim od ova dva primjera. :-/

http://rapidshare.com/files/147651350/UmetniRed.xls.html

na ovom linku se nalazi dokument, za probu.
Znaci, radi se o vremenima. od 0:00-0:00.
Ukoliko se u nekom polju ne pojavi neki interval (npr. u tom periodu se nije nista desavalo), zelim da se tocno na mjestu gdje bi inace bio interval pokaze prazno.
u ovaj primjer tablice stavio sam namjerno da nedostaju intervali
4:00-4:30
4:30-5:00

Znaci makro bi trebao odraditi umetanje 2 reda na A9.

(zato sam isao na referenciranje samo po jednog polja u redu i to onog prvog- ako A9 <> 4:00 umetni red ispod)
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2267
*.bisinter.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"25.09.2008. u 07:55 - pre 188 meseci
Da bi proverio uslov iz tvog primera najlakše je uporediti ćeliju sa ćelijom iznad ili ispod. Tako da sam izmenio kod i dodao petlju:
Code:

Sub Umetanje()
'Umetanje redova sa intervalom po pola sata
'gde nedostaju u nizu
'
'P.Jovanovic za elitesecurity.org

Dim r As Long, rstart As Long, rend As Long
Const cl As Integer = 1 ' Kolona koja se proverava
Dim c As Range          ' Tekuca celija
Dim sh As Worksheet

Set sh = ThisWorkbook.Sheets(1) ' List na koji se umecu redovi
rstart = 1 ' Pocetni red
rend = sh.Cells(65535, cl).End(xlUp).Row ' Broj poslednjeg popunjenog reda

 For r = rend To rstart + 1 Step -1 ' petlja od kraja
    Set c = sh.Cells(r, cl)
    If c.Value - c.Offset(-1).Value > 0.021 Then '0.020833 je priblizno pola sata
       c.EntireRow.Insert
       c.Offset(-1).Value = c.Value - 0.0208333 ' upis vrednosti u prazan red
       c.Offset(-1, 1).Value = c.Value
       r = r + 1
    End If
 Next r
End Sub


[Ovu poruku je menjao Jpeca dana 25.09.2008. u 09:10 GMT+1]
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

backspin
Marijo Slanic
Agent u pozivnom centru, Vip

Član broj: 194324
Poruke: 4
87.252.151.*



Profil

icon Re: Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"25.09.2008. u 12:57 - pre 188 meseci
E ovo je vec super !!!! :)
hvala puno !

imam samo jedan mali problem...

primjer:
u dokumentu mi se recimo pokazu samo vremena
1:00-1:30
1:30-2:00
pa onda odmah u sljedecem redu
6:00-6:30
6:30-7:00....
itd sve do 22:30.

znaci u original dokumentu se neaktivnost uopce ne prikazuje, jednostavno ju se izostavi.
Tvoj makro je super odradio posao sa umetanjem vremena izmedju 2:00 i 6:00. to radi perfektno.
no, trebao bi umetnuti vremena
0:00-0:30
0:30-1:00 na pocetak (ispred 1:00) i
22:30-23:00
23:00-23:30
23:30-0:00 na kraj (iza 22:30)

to bi onda bilo ono sto trazim

evo, jos samo to i pomogli ste mi do neba !


[Ovu poruku je menjao backspin dana 25.09.2008. u 14:10 GMT+1]

[Ovu poruku je menjao backspin dana 25.09.2008. u 14:10 GMT+1]

[Ovu poruku je menjao backspin dana 25.09.2008. u 14:11 GMT+1]
 
Odgovor na temu

[es] :: Office :: Excel :: Makro za umetanje novog reda ako je vrijednost celije jednaka "nesto"

[ Pregleda: 3883 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.