Zagon macro-ja izven excela
Zagon macro-ja izven excela
Pozdravljeni
Stvar je taka: za vsak dan v mesecu imam en excel-ov zvezek, katereih imena so npr.: 010411.xls, 020411.xls.....Na kak način bi lahko zagnal makro v vseh zvezkih, ne da bi mi bilo potrebno odpirat posamezen zvezek, rezultat makroja pa bi se videl v nekem novem zvezku; vsak zvezek npr. 0104011.xls.... na posebnem listu, ki bi se imenoval enako ko določen zvezek npr. 010411........, torej bi imel 31 listov oziroma kolikor je dni v mesecu. Upam da se razložil dovolj razumljivo.
hvala
lpa
Stvar je taka: za vsak dan v mesecu imam en excel-ov zvezek, katereih imena so npr.: 010411.xls, 020411.xls.....Na kak način bi lahko zagnal makro v vseh zvezkih, ne da bi mi bilo potrebno odpirat posamezen zvezek, rezultat makroja pa bi se videl v nekem novem zvezku; vsak zvezek npr. 0104011.xls.... na posebnem listu, ki bi se imenoval enako ko določen zvezek npr. 010411........, torej bi imel 31 listov oziroma kolikor je dni v mesecu. Upam da se razložil dovolj razumljivo.
hvala
lpa
Re: Zagon macro-ja izven excela
Makra v delovnem zvezku, ne morete zagnati če delovnega zvezka ne odprete!
problema ste se lotili z napačnega konca. Imejte en delovni zvezek v katerem je makro, ki odpre posamezne DZ in v njih naredi tisto kar želite.
problema ste se lotili z napačnega konca. Imejte en delovni zvezek v katerem je makro, ki odpre posamezne DZ in v njih naredi tisto kar želite.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Zagon macro-ja izven excela
Ne vem če prav razumem. Imam npr. delovni zvezek katerem bom shranjeval rezultate po izvedenem mojem makroju in iz tega zvezka z drugim makrojem odpiram zvezke za posamezen dan. Na kak način pa naj z makrojem odpiram zvezke, saj ima vsak drugačno ime.
lpa
lpa
Re: Zagon macro-ja izven excela
Z makrom lahko počnate VSE kar bi sicer počeli preko menijev, kar pomeni, da lahko napišete makro, ki odpre nek delovni zvezek in v nejm nekaj uredi ter ga nato zapre... Primerov imate na forumu kar nekaj - poiščite tematike s ključno besedo 'Workbooks.Open'
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Zagon macro-ja izven excela
Hvala za namig, vendar so se pojavile težave. Bom kar kodo pripel da bom lažje razložil kaj me muči.
Vsak zvezek, ki da odprem ima en list, ki ima kot ime datum (01042011.........) V njem zaženem subrutino lista_vse. Ne vem kako naj imenujem v subrutini "liste", da bo koda delovala za "vsak dan". Potem pa želim rezultate makroja vedno shranit v isti zvezek, ki bo imel liste poimenovene tako kot je v zvezku ki ga odprem na žačetku (01042011, 02042011...........)
Upam da sem uspel razložiti kaj me muči.
lp
Koda: Izberi vse
Sub Odpri_vec()
ChDir ("C:\podatki")
Dim datoteka: datoteka = Application.GetOpenFilename("Excel Files,*.xls", 1, , , False)
If TypeName(datoteka) = "Boolean" Then Exit Sub
Workbooks.Open Filename:=datoteka
lista_vse
End Sub
Sub lista_vse()
Dim indeks As Integer, indeks1 As Integer
indeks1 = 2
' Range("List3!A1:F500").ClearContents
For indeks = 1 To 500
If Left(Range("List!D" & CStr(indeks)), 1) = "B" Then delaj indeks, indeks1
'
'
'
'
Next indeks
' Sheets("List3").Select
End Sub
Sub delaj(indeks As Integer, indeks1 As Integer)
Range("List3!A" & CStr(indeks1)) = Range("List!A" & CStr(indeks))
'
'
'
'
indeks1 = indeks1 + 1
End Sub
Upam da sem uspel razložiti kaj me muči.
lp
Re: Zagon macro-ja izven excela
Ime lista imate zapisano v lastnosti:
Koda: Izberi vse
ActiveSheet.Name
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Zagon macro-ja izven excela
Se opravičujem, ampak ne razumem
Tukaj imam v delčku kode zapisano "List!D". S čim naj nadomestim to da bo zadeva delovela v listu ki je aktiven in katerim se imena spreminjajo. Z ActiveSheet.Name mi ne deluje.
hvala
Koda: Izberi vse
If Left(Range("List!D" & CStr(indeks)), 1) = "B" Then delaj indeks, indeks1
hvala
Re: Zagon macro-ja izven excela
Koda: Izberi vse
If Left(Range(ActiveSheet.Name & "!D" & CStr(indeks)), 1) = "B" Then delaj indeks, indeks1
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Zagon macro-ja izven excela
Najlepša hvala Počasi nekaj bo. Zadevo sem si zamislil in jo naredil za sedaj tako se odpre menu Open izberem željen zvezek npr. 01042011.xls v njem izvedem kar želim nato ta list (01042011) skopiram v drugi zvezek (master.xls), zopet se mi odpre menu Open izberem npr. 02042011.xls v njem izvedem kar želim nato ta list (02042011) skopiram v zvezek master.xls.........
Problem (mi ne uspe izvesti) pa je da bi rad, da ko se odpre Menu Open, da bi bil aktiven zvezek master.xls (da mi ga nebi bilo treba klikniti) in da bi se zvezek npr. 010402011.xls avtomatsko zaprl brez da shrani spremembe ko list iz njega skopiram v master.xls.
hvala
lp
Koda: Izberi vse
ActiveSheet.Copy Before:=Workbooks("master.xls").Sheets(1)
Application.WindowState = xlMinimized
Columns("A:G").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Windows("master.xls").Select
hvala
lp
Re: Zagon macro-ja izven excela
Hm,
če nakako poskusim po vaših vprašanjih...
če nakako poskusim po vaših vprašanjih...
To ne vem kaj bi bilo?ajk napisal/-a:Problem (mi ne uspe izvesti) pa je da bi rad, da ko se odpre Menu Open...
ajk napisal/-a:da bi bil aktiven zvezek master.xls (da mi ga nebi bilo treba klikniti)
Koda: Izberi vse
Workbooks("master.xls").Sheets(1).Select
ajk napisal/-a:in da bi se zvezek npr. 010402011.xls avtomatsko zaprl brez da shrani spremembe ko list iz njega skopiram v master.xls.
Koda: Izberi vse
Workbooks("010402011.xls").Close SaveChanges:=false
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Zagon macro-ja izven excela
Mogoče se nisem pravilno izrazil kaj hočem doseči amapak ta koda ne neredi tisto kar želim. Ko gre makro prvič skozi se mi zopet odpre menu Open kjer izberem kateri zvezek želim odpreti, da se zopet izvede celotna procedura........Vedno pa moram v Taskbar vrstici klikniti na zvezek master.xls, da mi je ta viden na zaslonu in da lahko izberem drug tvezek.admin napisal/-a:Koda: Izberi vse
Workbooks("master.xls").Sheets(1).Select
Problem tukaj pa je da se imena datotek spreminjajo, ni vedno datoteka "01042011.xls".admin napisal/-a:Koda: Izberi vse
Workbooks("01042011.xls").Close SaveChanges:=false
lp
Re: Zagon macro-ja izven excela
Hm... sedaj pa ste že zašli že čisto v specifike vašega konkretnega makra in tukaj vam ne morem več pomagati, saj ne vem kako je makro zgrajen...
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Zagon macro-ja izven excela
Pozdravljeni
Zanima me kaj je narobe v drugi skripti da ne deluje. Skripti sta iz spleta in kakor tam prikazuje delujeta brez problema:
Prva skripta:
Druga skripta: pri tej mi pa javlja da makroje ni mgoče zagnati, ker ali ni makro na voljo v delovnem zvezku ali pa so vsi makroji onemogočeni. Naj povem da makro imam v delovnem zvezku in tudi makroji do omogočeni
Že vnaprej hvala za pomoč
Zanima me kaj je narobe v drugi skripti da ne deluje. Skripti sta iz spleta in kakor tam prikazuje delujeta brez problema:
Prva skripta:
Koda: Izberi vse
Dim args, objExcel
Set args = WScript.Arguments
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open args(0)
objExcel.Visible = True
objExcel.Run "test"
objExcel.ActiveWorkbook.Save
Koda: Izberi vse
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\Test1\Sales.xlsm'!List2.test1"
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing
Zadnjič spremenil ajk, dne To Sep 05, 2017 9:52 pm, skupaj popravljeno 1 krat.
Re: Zagon macro-ja izven excela
Pozdravljeni,
In kakšno napako makro javi?
Ali sploh veste, kaj naj bi naredil, ter kako ga morate zagnati?
Args(0) pomeni da želi brati prvi argument iz ukazne vrstice!
In kakšno napako makro javi?
Ali sploh veste, kaj naj bi naredil, ter kako ga morate zagnati?
Args(0) pomeni da želi brati prvi argument iz ukazne vrstice!
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: Zagon macro-ja izven excela
Makro, ki je v samem excelu je čisto enostaven (vpiše uro v celico A1) in deluje. Makro ne javlja napake. Ti dve skripti z katerima hočem zagnati makro v excelu mi javljata napako.