Ajde da krenemo iz početka.
Code:
Sub Macro2()
1/ Trudi se da makroima daješ imena koja nešto znače. Ako snimaš makro odmah mu daj smisleno ime ili ga kasnije promeni u prozoru VB Editora. Pomoći će i tebi, a i drugima da se snađu u kodu kad treba da se nešto menja.
Umesto toga dakle
Code:
Sub Brisi()
Kod makroa koji su povezni možeš čuvati u okviru istog modula - preglednije je.
2/ Iz istog razloga nemoj da te mrzi da pišeš komentare u kodu - šta koji deo koda radi. Jednostavno unesi znak ' i iza njega piši objašnjenje.
3/ Ako si već spojio ćelije (merge) kao u slugaju H6:I6 adresa I6 više ne postoji što ćeš lako proveriti na adresnoj liniji - kao adresa referencijaranja spojene ćelije uzima se H6.
4/ Umesto brisanja pomoću koda
Code:
Range("H6:I6").Select
ActiveCell.Value = ""
Bolje je koristiti ClearContents
Range("H6").ClearContents
Slično i za ostale ćelije.
Sad dolazimo do tvojih pitanja.
Citat:
nisam mogao da otklonim nedostatak (brisanje funkcije smiranja u polju P,Q 23) nakon unosenja i brisanja podataka na dugmetu OBRISI.
Ne razumem kakav nedostatak kad si sam stavio da se briše formula u kodu?
Code:
Range("P23:Q23").Select
ActiveCell.Value = ""
Jednostavno izbaci ovaj kod i nemoj brisati formulu - Ukoliko nema stavki rezultat će biti 0. Ukoliko ti to smeta pomoću IF funkcije sakri prikazivanje 0 - primer imaš na forumu.
Citat:
da se u H,I 6 polju broj racuna uveca automatski nakon unosenja i brisanja na dugmetu OBRISI tako da on automatski prati red.br.iz spisak tabela
Umesto da brises H6 dodelimu novu vrednost kao vrednost poslednje popunjene ćelije iz lista spisak kolana A uvećanu za jedan
Code:
Range("H6").Value = ActiveWorkbook.Sheets("spisak tabela").Range("A65536").End(xlUp).Value + 1
Citat:
da li se moze napraviti dugme makro na listu racun stampanje STAMPA 3 (ispod postojeca dva dugmeta) ali da prilikom jednog klika na njemu tri puta sam odstampa racun automatski
Može veoma lako. Definiši oblast za štampu Print Area na radnom listu racun stampanje. Napravi još jedno dugme i za njega veži sledeći makro:
Code:
Sub Stampa3()
'
' Štampa tri kopije racuna
' Racun treba da je definisan kao PrintArea
'
' P. Jovanovic za elitesecurity.org
ActiveWorkbook.PrintOut Copies:=3
End Sub
Pogledaj vrlo slično rešenje za unos
http://www.elitesecurity.org/t...cel-formula-za-dva-radna-lista
Neke napomene važe i u tvom slučaju
Nije to loše Rembrante, samo što ne bi dodao još malo boje?