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

[Excel] Makro za sređivanje spiska

[es] :: Office :: Excel :: [Excel] Makro za sređivanje spiska

Strane: 1 2

[ Pregleda: 8667 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: [Excel] Makro za sređivanje spiska09.09.2008. u 17:02 - pre 190 meseci
Citat:
Sudarica: hvala rješila sam
drago mi je da si riješila, možeš li postati rješenje da i drugi vide kako ?

Citat:
Jpeca: Kad naiđeš na neko pitanje na formu koje znaš (pa makar bilo i iz makroa) , a ti odgovori. .............................Forumi i služe da se međusobno pomažemo, koliko ko može.
pozdrav
 
Odgovor na temu

Catch 22

Član broj: 148083
Poruke: 6176
93.86.83.*



+21 Profil

icon Re: [Excel] Makro za sređivanje spiska10.09.2008. u 02:06 - pre 190 meseci
Možda bi trebalo brisati ovakve teme u kojima se postavi pitanje, pa potom napiše "hvala rešio / la sam" bez opisa rešenja. Takvih tema ima poprilično na forumu, a nekim autorima tema je to izgleda i manir... ili jeftina zabava(?!?)

 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: [Excel] Makro za sređivanje spiska10.09.2008. u 07:18 - pre 190 meseci
Citat:
Catch 22: Možda bi trebalo brisati ovakve teme u kojima se postavi pitanje, pa potom napiše "hvala rešio / la sam" bez opisa rešenja. Takvih
Iskreno rečeno i ja sam "alergičan" kada netko postavi pitanje sa problemom ( traži pomoć od drugih ) potom riješi problem a ne želi ga podjeliti sa drugima. ( nije to slučaj smo u ovoj temi ima ih još ).
Neki dolaze na forum samo po pomoć, mada imaju određena znanja ali ne bi pomogli drugima :-(

Nekoliko puta sam već reagirao ovako kao i u prethodnom postu međutim rijetki su se odazvali. No to je njihovo pravo i volja.
Nisam za brisanje teme jer ipak se netko može javiit sa nekim rješenjem pa pomoći drugim čitaocima koji imaju isti problem, a pogotovo kada se post nadoveže u temi koja već ima neko pitanje i rješenje. ( malo off-topic ali dobro je da drugi uoče problem
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.dialin.iskon.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska16.10.2008. u 20:52 - pre 189 meseci
Oprostite
sada sam otvorila ovu stranicu i ispričavam se što nisam napisala kako sam to napravila. Smatram da to nije nešto.

Jednostavno sam otvorila Mapu i u mapi sve datoteke koje imaju identičan naziv kao korisnici u spisku i u naredbu sam unjela put i tako rješila svoj problem. Svaki novi korisnik koji se pojavi otvorim ga u mapi i onda u njega pospremam pomoću naredbe podatke iz spiska.
code
sFileName = "C:\Papir\Račun\" & prim & "\" & prim & "-" & shPodaci.Cells(stopRow, 6).Text & ".xls"

wbk.SaveAs sFileName
wbk.Close

Još jednom moja velika isprika. Vaša reakcija je u redu, ali stvarno mislim da nisam napravila ništa što već ne piše u ovim objašnjenjima.

 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
87.252.143.*



Profil

icon Re: [Excel] Makro za sređivanje spiska24.03.2009. u 15:50 - pre 183 meseci
Ne radi mi dobro ovaj makro za pospremanje u Excelu 2007. Pospremi mi radnu knjigu kao xlsx a treba xlsm odnosno mora biti makro naredba pospremljena zajedno sa radnom knjigom kako bi kod sledećeg ispravka radnu knjigu mogla ponovno pospremiti pomoću makro naredbe.

Sub Spremi()
Dim NazivKnjige As String
NazivKnjige = "c:\Papir\Račun\Nalozi\" & Trim(ActiveSheet.Range("C4").Text) & "_" & Trim(ActiveSheet.Range("G4").Text)
ActiveWorkbook.SaveAs NazivKnjige
ActiveWorkbook.Close
End Sub

Hvala na pomoći
 
Odgovor na temu

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

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

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska24.03.2009. u 19:15 - pre 183 meseci
SaveAs metoda ima dodatne opcije, a jedna od njih je FileFormat. U tvom slučaju treba da je
FileFormat:= xlOpenXMLWorkbookMacroEnabled
Dakle dopuni liniju Activeworkbook.SaveAs:

Code:
ActiveWorkbook.SaveAs NazivKnjige, FileFormat:= xlOpenXMLWorkbookMacroEnabled

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

Sudarica

Član broj: 119175
Poruke: 209
93.159.70.*



Profil

icon Re: [Excel] Makro za sređivanje spiska25.03.2009. u 19:47 - pre 183 meseci
Hvala
sada radi dobro
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.adsl.net.t-com.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska03.07.2011. u 08:04 - pre 156 meseci
Molim pomoć
imam slijedeći Code (dolje)

1/ Izbor primatelja

Code:

Prim = Application.InputBox( prompt:="Selektuj naziv primatelja" )


ja selektiram jednog po jednog primatelja, a taj primatelj je uvijek u koloni A ćelija iznad totala naprimjer

Gene osig
Gene osig Total
Gra Mag
Gra Mag
Gra Mag
Gra Mag Total

znači Prim = Gen osig

ili Prim= Gra Mag

trebala bi dodatak naredbi, da pozove Application.InputBox( prompt:="Selektuj naziv primatelja" )

da pronađe i selektira ćeliju, prvu iznad Totala i klikne OK i da nastavi dalje prema naredbi kako slijedi. Gotovo je kada više nema vrijednosti ispod Totala u koloni A . (To ja sada radim ručno)

Hvala

Pozdrav

[Ovu poruku je menjao Sudarica dana 03.07.2011. u 12:55 GMT+1]

[Ovu poruku je menjao Sudarica dana 03.07.2011. u 13:05 GMT+1]
 
Odgovor na temu

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

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

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska05.07.2011. u 12:02 - pre 156 meseci
InputBox se koristi u slučaju kad ti treba korisnik da nešto unese. U slučaju kad preuzimaš podatke iz neke ćelije koristiš jednostavno prdruživanje
Npr.
Prim = Range("A5").Text

Pošto ti želiš da postupak automatizuješ sve ovo treba da se dešava unutar petlje koja bi pronalazila natpis Total i onda preuzimala naziv primatelja iz ćelije iznad

Ovo se može rešiti koristeći Find funkciju u petlji
Code:
Sub Test()
' Primer pozivanja Find u petlji
' za elitesecurity.org
' P. Jovanovic  5/7/2011
'
Dim sh As Worksheet
Dim clTotal As Range
Dim FirstAddr As String
Dim Prim As String

Set sh = ActiveSheet
Set clTotal = sh.Columns(1).Find( _
         What:="Total", _
         LookIn:=xlValues, _
         LookAt:=xlPart _
         )                            'Trazi se prvi Total u prvoj koloni
FirstAddr = clTotal.Address
Do Until clTotal Is Nothing
   Prim = clTotal.Offset(-1, 0).Text  ' Preuzima se naziv primatelja iz celije iznad Total
   '
   ' Postojeca obrada
   '
   Set clTotal = sh.Columns(1).FindNext(after:=clTotal) 'Sledeci total
   If clTotal.Address = FirstAddr Then  ' Izlaz kad je ponovo nadjen prvi total
        Exit Do
    End If
Loop
End Sub

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

Sudarica

Član broj: 119175
Poruke: 209
*.adsl.net.t-com.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska05.07.2011. u 16:28 - pre 156 meseci
Hvala upravo sam to htjela

ali prvog napravi dobro a dalje se vraća na Iznos=...... u codu ili prenese podatke na predložak ali ih ne zbroji već ih tako pospermi.


još jedna molba

Primatelj može imati isti naziv ali mu se razlikuje žiro račun (kolona 2) dali bi bio veliki problem i to ispitivanje. Ja sada sve to pretražujem i ako imam duplog primatelja, a različiti žiro račun dodajem točku jer mi inače uzima podatke od prvog primatelja sa istim nazivom. Naziv datoteke sadrži primatelja i žiro račun.


Hvala

Srdačan pozdrav
Prikačeni fajlovi
 
Odgovor na temu

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

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

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska06.07.2011. u 08:22 - pre 156 meseci
Problem je što unutar tvoje obrade već postoji Find. Ovaj Find postavi nove kriterijume pretrage, tako da sledeći Find Next ne traži više "Total".

Prepravio sam tvoj kod tako da se ne poziva Find u obradi nego se koriste brojevi redova (startRow, StopRow) određeni na osnovu nadjenih Total-a u prvoj koloni
Za prvi pronađeni Total startRow = 9 a stopRow = "Total row" - 1.
Za sledeći Total startRow je prethodni stopRow + 2 (da se preskoči red Total) a stopRow opet "Total row" - 1.

Pošto se u ovom slučaju traže Total redovi, onoliko koliko ih ima biće i napravljeno fajlova. Odnosno, nema veze da li je naziv primaoca isti ako imaš dva totala biće napravljene dve datoteke. Jedino što nazivi datoteka ne smeju biti isti - pa u slučaju istog naziva primaoca moraju da im se razlikuju žiro računi.




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

Sudarica

Član broj: 119175
Poruke: 209
*.adsl.net.t-com.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska06.07.2011. u 16:13 - pre 156 meseci
Hvala puno

sada ću testirati naredbu pa ću se javiti

hvala još jednom i pozdrav
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.adsl.net.t-com.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska07.07.2011. u 20:25 - pre 155 meseci
Naredba radi dobro upravo onako kako treba, bez ijedne izmejne

htjela bi u ovu naredbu

Dim iRow

Sub ListPathNameFiles()
iRow = 5
Call ListMyFiles(Range("B1"), Range("B2"))
End Sub

Sub ListMyFiles(mySourcePath, IncludeSubfolders) '(moj izvorni put, Uključi podmape)

Set MyObject = New Scripting.FileSystemObject
Set mySource = MyObject.GetFolder(mySourcePath) '
On Error Resume Next
For Each myFile In mySource.Files
iCol = 1
Cells(iRow, iCol).Value = myFile.Path
iCol = iCol + 1
Cells(iRow, iCol).Value = myFile.Name
iRow = iRow + 1
Next
If IncludeSubfolders Then
For Each mySubFolder In mySource.SubFolders
Call ListMyFiles(mySubFolder.Path, True)
Next
End If
End Sub

dodati da mi iz file "Ita" za sve primatelja koje sam prepisala u stupac C "Kontrole primatelja" upiše iznos iz svakog primatelja, a iznos se nalazi uvijek u ćeliji D15 primatelja. To bi bila kontrola da su svi primatelji dobro i točno prepisani.


Hvala
Pozdrav

Prikačeni fajlovi
 
Odgovor na temu

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

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

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska08.07.2011. u 09:55 - pre 155 meseci
Na stranici John Walkenbach...http://j-walk.com/ss/excel/tips/tip82.htm naći ćeš interesantnu funkciju koja čita vrednost neke ćelije radne sveske, bez njenog otvaranja.

Code:
Private Function GetValue(path, file, sheet, ref)
'   Retrieves a value from a closed workbook
    Dim arg As String
'   Make sure the file exists
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & file) = "" Then
        GetValue = "File Not Found"
        Exit Function
    End If
'   Create the argument
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
      Range(ref).Range("A1").Address(, , xlR1C1)
'   Execute an XLM macro
    GetValue = ExecuteExcel4Macro(arg)
End Function


Ovu funkciju uključi u tvoj kod i onda je pozivaš u petlji sa parametrima mySourcePath, myFile.File, "Sheet1" i "D15" i pomoću nje popunjavaš treću kolonu. Dakle pre iRow = iRow +1 dodaj
Code:

iCol = iCol + 1
Cells(iRow, iCol).Value = GetValue(mySourcePath, myFile.Name, "Sheet1", "D15")



Na temu referenciranja ćelije iz druge radne sveske možeš pogledati i ovde http://www.elitesecurity.org/t405615-0#2657667


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

Sudarica

Član broj: 119175
Poruke: 209
*.adsl.net.t-com.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska16.07.2011. u 07:22 - pre 155 meseci
Da to je to radi super

Hvala puno

Nisam se mogla ulogirati ali sada sam skužila daje problem u mom kompjuteru jer dok pokušam s drugog kompjutera mogu bez problema. A sada sam ponovno na mom kompjuteru i sada mogu.
 
Odgovor na temu

[es] :: Office :: Excel :: [Excel] Makro za sređivanje spiska

Strane: 1 2

[ Pregleda: 8667 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

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