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

macro za insert rows

[es] :: Office :: Excel :: macro za insert rows

[ Pregleda: 2464 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jaskojsako
BIH

Član broj: 141632
Poruke: 224
31.176.158.*



+4 Profil

icon macro za insert rows02.07.2014. u 14:51 - pre 119 meseci
Poz
Imam jedno pitanje da li je moguće da preko
macroa insertujem novi red ispod ćelije B11 a da sadrži
isti broj čelija kao i red B11 do čelije G11
i drugo pitanje kako da kad završim upis to snimim u bazu
ali da sve stavke budu snimljene jedne ispod druge u bazi
znam za snimanje čelija u drugi list jedne stavke i tu macro radi odlično
ali kako da i ostale stavke budu jedna ispod druge a da
pored svake stavke bude datum i broj računa
Unaprijed hvala prilog baza
Jasmin
Prikačeni fajlovi
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.121.*

Sajt: www.gowi.rs


+109 Profil

icon Re: macro za insert rows02.07.2014. u 16:18 - pre 119 meseci
Za ovakve situacije najbolje da smislis kako bi se to rucno najlakse odradilo i onda snimis kod. Obicno je potrebno i malo "doterivanja" snimljenog koda ali je to dobro za početak

Ovo bi bio kod za dodavanje reda
Code:
Sub NoviRed()
'
' Dodaje red iznad UKUPNO
' Format se kopira od prvog reda B11:G11
'
' P.Jovanovic za elitesecurity.org

' Kreiranje kopije
    Range("B11:G11").Copy
' Pozicioniranje na Ukupno
    Range("B11").End(xlDown).Select
' Dodavanje reda
    Selection.Insert Shift:=xlDown
' Brisanje sadrzaja
    Selection.Resize(RowSize:=1, ColumnSize:=5).ClearContents
End Sub



Za snimanje jedne ispod druge stavke vidi http://www.elitesecurity.org/t246081-0#1480006
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

jaskojsako
BIH

Član broj: 141632
Poruke: 224
109.175.98.*



+4 Profil

icon Re: macro za insert rows02.07.2014. u 20:51 - pre 119 meseci
Hvala na odgovoru,ovo može poslužiti,ja sa lista kasa uzimam datum broj računa,i stavke računa
znam za prvu stavku da upiše to je ovaj kod
....................................................................................................................
Dim xy As String 'deklarisanje promenljive xy
xy = Sheets("bazaizlaz").Range("A1000").End(xlUp).Row + 1 'prvi prazan red za unos

Dim spec As Worksheet, nal As Worksheet 'delariranje sheetova
Set spec = Sheets("bazaizlaz")
Set nal = Sheets("kasa")

Application.ScreenUpdating = False

With spec
.Range("A" & xy).Value = nal.Range("c5").Value 'datum
.Range("B" & xy).Value = nal.Range("f6").Value 'broj fakture
.Range("C" & xy).Value = nal.Range("b9").Value 'fikalni račun
.Range("D" & xy).Value = nal.Range("b11").Value 'šifra artikla
.Range("E" & xy).Value = nal.Range("c11").Value 'naziv
.Range("F" & xy).Value = nal.Range("d11").Value 'jed.mj
.Range("G" & xy).Value = nal.Range("e11").Value 'broj fakture
.Range("H" & xy).Value = nal.Range("f11").Value 'cijena

Range("A1").Select
....................................................................................................

ali kako da i sljedeće stavke ako imaju da upiše jednu ispod druge na listu baza.


Hvala

[Ovu poruku je menjao jaskojsako dana 02.07.2014. u 22:11 GMT+1]

[Ovu poruku je menjao jaskojsako dana 02.07.2014. u 22:11 GMT+1]

[Ovu poruku je menjao jaskojsako dana 02.07.2014. u 22:12 GMT+1]
Jasmin
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.121.*

Sajt: www.gowi.rs


+109 Profil

icon Re: macro za insert rows03.07.2014. u 08:42 - pre 119 meseci
Ako si pogledao primer video si da tamo ima for petlja
Code:
For rw = 3 To rwEnd
...
Next rw


U tvom slučaju pošto prepisujemo sve stavke sa lista kasa početni red je 11, a krajnji red možemo da odredimo kao što sam već naveo za umetanje redova, pa -1
Code:
rwEnd = Range("B11").End(xlDown).Row -1

U petlji xy uvećavaš za 1 (Bilo bi razumljivije da si xy nazvao rBaza, rwBaza ili slično ovako xy implicija dve koordinate a ima samo jedna?). Meni je lično razumljivije korišćeje Cells(row, column) notacije umesto Range u VBA kodu ali može i Range kao što si naveo. Uglavnom tvoj kod bi otprilike dobio oblik

Code:
...
rwEnd = Range("B11").End(xlDown).Row -1
For rw = 11 To rwEnd
 With spec
  .Range("A" & xy).Value = nal.Range("c5").Value 'datum
  .Range("B" & xy).Value = nal.Range("f6").Value 'broj fakture
  .Range("C" & xy).Value = nal.Range("b9").Value 'fikalni račun
  .Range("D" & xy).Value = nal.Range("b"&rw).Value 'šifra artikla
  .Range("E" & xy).Value = nal.Range("c"&rw).Value 'naziv
  .Range("F" & xy).Value = nal.Range("d"&rw).Value 'jed.mj
  .Range("G" & xy).Value = nal.Range("e"&rw).Value 'broj fakture
  .Range("H" & xy).Value = nal.Range("f"&rw).Value 'cijena
  End With
  xy = xy +1
next rw 
...

Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

jaskojsako
BIH

Član broj: 141632
Poruke: 224
31.176.170.*



+4 Profil

icon Re: macro za insert rows03.07.2014. u 09:40 - pre 119 meseci
Poz,svaka čast to bi bilo to
ako možeš još samo kako da izbrišemo dodate redove ako ih ima do čelije B11.
Hvala
Jasmin
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.121.*

Sajt: www.gowi.rs


+109 Profil

icon Re: macro za insert rows03.07.2014. u 12:15 - pre 119 meseci
Pošto se ozbiljnije baviš VBA više bih voleo da naučiš, nego da ti dam gotovo rešenje

Napravi primer sa jednim redom kog treba obrisati.

Snimi makro koji briše taj red.

Izmeni makro tako da umesto broja reda staviš promenljivu rw.

Sad razmisli kako ćeš da odrediš početni i krajnji red oblasti koju brišeš. Koliko sam razumeo početni red koji se briše je 12 a krajni odrediš kao i ranije od ukupno jedan red gore
Code:
rwEnd = Range("B11").End(xlDown).Row -1

Sad napravi petlju
Code:
For rw = 12 to rwEnd
  ... Kod za brisi red rw
Next rw


Razmili šta će se desiti kad nemaš redova za brisanje. Proveri koliki je rwEnd u tom slučaju. Napravi primer bez reda za brisanje i onda u Immediate window otkucaj
?Range("B11").End(xlDown).Row -1
Napravi primer sa nekoliko redova za brisanje pa proveri koliki je rwEnd na isti način

Ako budeš imao nekih problema postavi kod ovde pa da komentarišemo
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

jaskojsako
BIH

Član broj: 141632
Poruke: 224
31.176.170.*



+4 Profil

icon Re: macro za insert rows03.07.2014. u 12:51 - pre 119 meseci
Poz hvala na javljanju
probao sam sa ovim kodom i prijavljuje mi grešku

Private Sub CommandButton36_Click()
rwEnd = Range("B11").End(xlDown).Row - 1
For rw = 12 To rwEnd
rw = EntireRow.Delete
Next rw
End Sub
Ako može da ovo ti završiš a ja ću da proanaliziram kod.
Hvala

Kada sa ovim kodom Rows(rw).EntireRow.Delete zamjenim ovaj kod
rw = EntireRow.Delete
odradi za dva reda koja su insertovana a poslije blokada
kako da odredim zadnji red koji je insertovan i da od njega počne da briše do reda b11
Hvala


[Ovu poruku je menjao jaskojsako dana 03.07.2014. u 14:02 GMT+1]
Jasmin
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.121.*

Sajt: www.gowi.rs


+109 Profil

icon Re: macro za insert rows03.07.2014. u 13:34 - pre 119 meseci
Nisam baš siguran da ti treba brisanje celog reda - EntireRow.Delete?

Greška je zato što vraćaš rezultat toga u rw koji je brojač u petlji
Trebalo bi nešto ovako
Code:
Range("B"&rw).EntireRow.Delete


Odnosno ako ne brišeš ceo red nego samo oblast B:G u odgovarajućem redu
Code:
Range("B" & rw).Resize(ColumnSize:=6).Delete Shift:=xlUp


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

jaskojsako
BIH

Član broj: 141632
Poruke: 224
31.176.170.*



+4 Profil

icon Re: macro za insert rows03.07.2014. u 13:52 - pre 119 meseci
U pravu si ne brišem ceo red nego samo raspon b:g
i kad sam zamjenio tvoj kod
Range("B" & rw).Resize(Columns:=6).Delete Shift:=xlUp

na mjesto koda Rows(rw).EntireRow.Delete
prijavljuje ovdje grešku Resize(Columns:=6)

Poz


Jasmin
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.121.*

Sajt: www.gowi.rs


+109 Profil

icon Re: macro za insert rows03.07.2014. u 14:11 - pre 119 meseci
Izmeno sam parametar za Resize se zove ColumnSize a ne Columns (ima primer iznad)
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

jaskojsako
BIH

Član broj: 141632
Poruke: 224
109.175.98.*



+4 Profil

icon Re: macro za insert rows03.07.2014. u 17:41 - pre 119 meseci
poz
ne ide druže ako možeš na ovom mom primjeru baze
da ugradiš macro bio biti zahvalan

Jasmin
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.121.*

Sajt: www.gowi.rs


+109 Profil

icon Re: macro za insert rows07.07.2014. u 14:59 - pre 119 meseci
Lakše i korisnije bi bilo da si postavio primer sa svojim pokušajem, pa da vidimo u čemu je problem.

U prilogu je tvoj primer sa dodatnim makroima NoviRed i BrisiVisak
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

jaskojsako
BIH

Član broj: 141632
Poruke: 224
31.176.188.*



+4 Profil

icon Re: macro za insert rows07.07.2014. u 15:52 - pre 119 meseci
Poz
Hvala druže,to bi bilo to.
Pozdrav
Jasmin
 
Odgovor na temu

jaskojsako
BIH

Član broj: 141632
Poruke: 224
109.175.99.*



+4 Profil

icon Re: macro za insert rows08.07.2014. u 23:16 - pre 119 meseci
Poz opet
Vidio si kako sam preko dugmeta odradio ubacivanje
artikala ali samo za jedan red,imaš li ideju kako da
odradim da pronađe prvi prazan red za drugi unos artikla
znaći pritisnem artiklal 1 unesem količinu i da sljedeći artikal bude ispod drugog
ali koji god artikal da izaberem.
Hvala
Jasmin
 
Odgovor na temu

[es] :: Office :: Excel :: macro za insert rows

[ Pregleda: 2464 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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