[ svetozar @ 06.10.2009. 11:33 ] @
Imam jedno pitanje...
Na primeru u prilogu poruke kako mogu da napravim da, kada dodam novi red na worksheet-u Original, na primer između "b" i "c" red "d", i na drugom worksheet-u Kopija automatski se napravi novi red?!
[ neptuncokg @ 06.10.2009. 19:08 ] @
Verovatno da ima elegantniji nacin, ali evo jednostavnog, "excelovog" resenja. Dakle, oznacis misem sve sheetove u kojima zelis promenu, uz istovremeno CTRL (drzis CTRL i misom kliksec na sheetove koje zelis). Kad ih tako sve izaberes, sve promene koje uradis na jednom, izvrsavaju se u svim izabranim sheetovima. Iza toga kliknes na neki sheet koji nije bio izabran - i gotovo. Pozdrav
[ svetozar @ 07.10.2009. 05:56 ] @
Radi. Hvala, nije loše.
Ali meni ipak treba onaj elegantniji način...
[ mirko1949 @ 07.10.2009. 07:36 ] @
Probaj nesto ovako:

Sub InsertRowAllSheets()

Dim cs As String
cs = ActiveSheet.Name
Dim y As Integer
y = Application.InputBox("Enter the row number you wish to add", _
Type:=1) 'enter 16 to insert a new row 16, the old row _
will become 17 And all other rows push down 1 row As well.
If MsgBox("Are you sure you wish to insert at row " & y & " for ALL sheets?", _
vbYesNo, "Insert row on ALL Sheets") = vbNo Then Exit Sub
Application.ScreenUpdating = False
Dim r As Range
Dim ws As Worksheet
' On Error Resume Next 'Error handler
For Each ws In ThisWorkbook.Worksheets
ws.Activate
Set r = ActiveSheet.Range("A" & y)
If y < 7 Then GoTo circumv 'Not to insert in Headers
Range("A" & y).EntireRow.Insert

' code can be inserted here to copy formulas for some or all sheets in the workbook

circumv:
Next ws
Sheets(cs).Activate
Application.ScreenUpdating = True

End Sub

Mozes ovom makrou da dodelis dugme. Ukoliko je potrebno poslacu ti prilog
Pozdrav
[ svetozar @ 07.10.2009. 09:40 ] @
Wau...
Nisam se bavio makroima.
Bio bih ti zahvalan kada bi okačio makro uz poruku!
Hvala Ti lepo!
[ mirko1949 @ 07.10.2009. 10:31 ] @
Evo saljem ti primer.
Malo objasnjenje kako da to uradis za tvoj primer: 1. Alt+F11 2. U meniju Insert pa Module 3. Iskopiras ovaj makro (Ili Makro iz primera)
4. Zatvoris Microsoft Visual basic 5. Ides na View pa Toolbars pa stikliras Forms 6. Kliknes na ikonicu Button pa se pojavljuje krstić i iscrtaš dugme gde hoćeš na površini lista (Sheet1)
7. Sada desni klik na dugme i u prozoru koji se pojavi izabereš Asign Macro 7. Tu izaberes naziv za ovaj akro "InsertRowAllSheets" 8. Na kraju OK i to je to
Pozdrav
[ svetozar @ 07.10.2009. 11:17 ] @
Odlično.
Lepo napredujemo.
Hvala lepo na pomoći!
Jedan problem je rešen, ali ostaje i dalje drugi.
Znači, kada bih na primeru iz priloga poruke dodao npr red 13, on bi mi dodao red 13 na svim worksheet-ovima.
A kako da odradim da mi automatski na worksheet-u 2 prekopira funkciju koja je u redu iznad, tako da automatski dalje radi (u ovom slučaju da kada na worksheet-u 1 dodam red 13 i u njemu upišem nešto, da se to prekopira automatski i u worksheet 2, i da povuče to nešto što je u worksheet-u 1).
[ mirko1949 @ 08.10.2009. 09:26 ] @
Evo nesto da pokusam. Dodaj ovaj makro na isti nacin kao prethodni.

Sub copyrow()
Dim myrow As Integer
myrow = ActiveWindow.RangeSelection.Row
Rows(myrow).Select 'This copies the selected row
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Paste Destination:=Worksheets("Sheet2").Rows(myrow)
Application.CutCopyMode = False

End Sub

Ukoliko jimas vise radnih listova radnih listova ispod reda :
ActiveSheet.Paste Destination:=Worksheets("Sheet2").Rows(myrow) , samo promeni umeasto Sheet2 stavi 3 itd
dodaj jos redova

Inace samo kopiranje uradis tako sto kliknes na neku celiju (Sheet1) u redu koji zelis da kopiras pa startujes dugme kome si dodelio makro. Evo prilog pa probaj.
Pozdrav
[ svetozar @ 08.10.2009. 11:09 ] @
Hvala lepo Mirko.
Uspeo sam tako kako si mi objasnio i radi.
Koliko sam primetio, makro ne kopira formulu nego sam sadržaj markirane ćelije iz worksheet1 u worksheet2.
No, u svakom slučaju to radi posao.
Još jednom hvala puno!
[ mirko1949 @ 08.10.2009. 11:43 ] @
Ipak kopira i formulu. Sad sam probao i vidim da je iskopirana i formula. Pogledaj u prilogu red 13. sad sam njega probao i iskopirana je i formula u celiji C13.
Pozdrav
[ svetozar @ 08.10.2009. 12:25 ] @
Hmmm...
Meni ne radi.
Evo konkretnog primera u prilogu poruke.
Znači, kada uz pomoć dugmeta "Ubacivanje reda" dodam red 10, on ga doda kao što bi i trebao.
E onda mu dam naredbu dugmetom "Kopiranje sadržaja", i on iskopira sadržaj kao što je na prvom sheet-u, a ne povuče formulu koja se nalazi u drugom sheet-u, pa je tako "oznaka" sa prvog sheet-a u koloni "naziv" na drugom sheet-u.
Da li je to moguće srediti?!
[ mirko1949 @ 08.10.2009. 18:52 ] @
Da malo prokomentarisem:
Kazes "Koliko sam primetio, makro ne kopira formulu nego sam sadržaj markirane ćelije iz worksheet1 u worksheet2."
U tvom primeru ja nisam video niti jednu formulu, tako da nerazumem šta znači da "ne povuče formulu koja se nalazi u drugom sheet-u".
Suština je u tome da makro kopira ceo red, onakav kakav je, iz prvog u drugi Sheet. To znači da omo što npr. sadrži celija B10 u Sheet1 biće iskopirano u ćeliju B10 u Sheet2.
Tako je i u tvom primeru, medjutim u tom primeru tebi je u Sheet-u 1 kolona B sa oznakama dok je u Sheet-u2 ta kolona (B) sa nazivom što naravno nije isto.
Mislim da ti je neko resenje da prilagodiš (usaglasiš) ove kolone u oba lista.
Pozdrav
[ svetozar @ 09.10.2009. 08:47 ] @
Citat:
mirko1949:
Mislim da ti je neko resenje da prilagodiš (usaglasiš) ove kolone u oba lista.
Pozdrav

Na žalost raspored kolona mora ostati takav kakav je...
Ipak, hvala ti na trudu i pomoći, i sa ova dva makroa mogu dosta da olakšam posao.