[ mirko1949 @ 23.05.2008. 22:24 ] @
Pozdrav,
Deo koda koji mi sluzi za snimanje jednog radnog lista iy odredjene sveske kao nov dokument pod imenom iz neke celije glasi:
Code:
............
.......
WB.SaveAs "D:\Arhiva\Novo\"
......
Samo me interesuje kako da mi deo u kodu "D:\Arhiva\Novo\" povlaci iz neke celije.
Npr ako sam u celiji A5 lista 1 upisao: C:\Probe\Dokumenti 3\ da mi se prethodno upisani deo u kodu promeni i bude definisana nova lokacija.
[ timmy @ 24.05.2008. 00:52 ] @
Ako je to macro na listu Sheet1 onda

Code:

  WB.SaveAs [A5]


ili mozda kao

Code:

  WB.SaveAs WB.Sheets("Sheet1").Range("a5")


Pozdrav
[ neptuncokg @ 17.11.2009. 01:59 ] @
Izvukoh ovu temu "iz naftalina", iz jednog prostog razloga. U postavci teme se nalazi DEO KODA za snimanje samo jednog radnog lista (sheeta) u drugu radnu svesku, pod imenom iz neke celije. Nikako ne uspevam da ispisem ceo kod za to. Do sada sam pamtio celu radnu svesku - dokument, sa sve makroima i svim sheetovima. Zaista bi bilo lepo imati makro za SaveAs samo jednog (ili dva, ili tri sheeta), a nikako svih. Kod koji koristim (postavio ga JPeca davno) glasi:

Dim unos As String
unos = "c:\ARHIVA\" & Sheets(1).Range("A2").Text ' koristi naziv iz celije A2
ActiveWorkbook.Sheets(1).SaveAs Filename:=unos

I to odlicno radi, ali pamti sve radne listove iz radne sveske, a ne samo "SHEET1". Hvala unapred.
[ mirko1949 @ 17.11.2009. 10:13 ] @
Evo da pokusam da pomognem. I mene je svojevremeno mucio isti problem. Evo koda:

Private Sub CommandButton5_Click()


Dim WBname As String, List As String
Dim WB As Workbook

If Sheets("2").Range("r2") <> "" Then
List = Sheets("2").Range("r2").Value
Application.ScreenUpdating = False
Sheets(Array("SL", "SL-zad str")).Select
Sheets("SL-zad str").Activate
Sheets(Array("SL", "SL-zad str")).Copy

Set WB = ActiveWorkbook
WBname = "" & List & " " & ".xls"
WB.SaveAs [ak1] & WBname
WB.Close
MsgBox "List je dodan i nosi naziv - " & WBname, vbInformation, G
Else
MsgBox "List nije dodan u Listu1 celija A1 nema nikakvog imena !", vbExclamation, G
End If
Application.ScreenUpdating = True
Unload Me
End Sub

Objasnenje: U konkretnom slucaju ja ovo kopiranje koristim preko CommandButton5 koje se nalazi u Formi. U konkretnom primeru mada fajl koristi desetak Sheet-ova kopiraju se samo
2 i to: "SL: i "SL-zad str". Naziv pod kojim ce se ovaj dokument zvati nalazi se u listu "2" celija R2. Ti ovaj kod prepravi prema tvojim potrebama.
Pozdrav
[ neptuncokg @ 17.11.2009. 13:07 ] @
Mislim da je to upravo ono sto mi treba. Prilagodicu mom programu pa cu da vidim, s tim sto je kod mene malo veca komplikacija, jer negde imam samo 1 list, a negde i po 5-6 koje treba da zapamtim, a ostale ne. Hvala jos jednom. Ako zapne, javljam se ponovo. Pozdrav
[ Gix_ @ 18.11.2009. 10:00 ] @
Re,
jedna mala ideja ???
napravi petlju u kodi koja ce da lista sve radne listove zatim ih prikazi recimo u ListBox
ostaje samo da selekcioniras radne listove koje hoces da sacuvas.

pripazi za kodu od mirka fali deklaracija za konst. koja se nalazi kod njega u pocetku svih koda u formi.

Option Explicit
Const G As String = "Elitesecurity"

Ovo slovo G secame na nesto

Pozdrav
[ neptuncokg @ 18.11.2009. 16:00 ] @
Mirkov macro sam prilagodio sebi, ovo "G" sam jednostavno pobrisao i sve radi kako treba. Nemam primedbi. Ideja sa petljom i ListBoxom bi zaista bilo originalno resenje, ali nisam siguran da umem to da ispisem. Ako imas ideju, ti postavi, jer ja "slajfujem" kad su petlje u pitanju. A zaista bi bilo sjajno. Pozdrav i hvala.
[ Gix_ @ 19.11.2009. 10:24 ] @
Re,
evo pocetka za kodovanje tvoje petlje

napravi jedan formuler sa imenom UserForm1
dodaj kontrolu sa imenom ListBox1
prepisi ovu kodu:
Code:
Option Explicit
Const G As String = "Demonstracija za Forum Elitesecurity"

Private Sub UserForm_Initialize()
    Dim i As Integer
    UserForm1.Caption = G
    For i = ActiveSheet.Index To Sheets.Count
    Me.ListBox1.AddItem Sheets(i).Name
    Next i
End Sub

pokusaj da konbinujes petlju selekciju u listbox i kodu od mirka.

Pozdrav
[ neptuncokg @ 20.11.2009. 17:43 ] @
Odlicno funkcionise, prilagodio sam sebi i sve je o.k. Osim jedne stvari - ne mogu vise sheetova odjednom da arhiviram, vec samo jedan - taj koji izaberem u ComboBoxu (stavio sam na formi ComboBox umesto ListBoxa). Mozda bi moglo da se proba sa ChekBoxovima, ali to je vec krupniji poduhvat. Svakako hvala, i ovo ce naci svoju primenu. Pozdrav za Olimpik, pardon Lyon.