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

VB - Excel sabiranje istih cells iz Sheets u poseban .xls

[es] :: Visual Basic 6 :: VB - Excel sabiranje istih cells iz Sheets u poseban .xls

Strane: 1 2 3

[ Pregleda: 13297 | Odgovora: 44 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 25.05.2005. u 09:54 - pre 230 meseci
Marko_L,


izvini molim te možeš li nešto pomoći do 01.Juna?
(?)
Zapao sam u oskudicu sa vremenom (:~)
?

Pomozi ili da ručno prikupljam zbir svake ćelije ponaosob.


Pozdrav






 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 25.05.2005. u 22:14 - pre 230 meseci
Evo me.Nekako mi je promakla ova tema, a PP uopšte nisam dobio.Možda si ga greškom poslao nekom drugom :)
No nebitno, nego da pređemo na stvar.Ako sam dobro razumeo šta ti treba, onda to možeš da uradiš na više načina.Možeš recimo da otvaraš workbook po workbook i sabereš prvu ćeliju iz niza, pa upišeš rezultat, pa onda opet workbook po workbook za drugu ćeliju i sve tako, što je rešenje koje nikako ne predlažem jer je dosta sporo.Sledeće rešenje je da otvoriš sve workbook-ove odjednom pa onda posabereš one ćelije koje ti trebaju.Ovo je već bolje, a i najbrže rešenje, ali pošto ne znam koliko tih fajlova imaš, možda može biti opterećujuće za memoriju, a i nisam siguran koliko workbook-ova možeš da otvoriš odjednom (niti da li uopšte postoji ograničenje).Ali, s obzirom da tačno znaš ćelije koje hoćeš da sabiraš i nema ih mnogo, rešenje koje predlažem jeste da otvaraš workbook po workbook i smeštaš vrednosti ćelija u matricu, što je verovatno nešto sporije rešenje nego ovo drugo, ali mnogo brže nego ovo prvo.Evo kako bi trebalo da izgleda kod (pažnja : pišem delimično iz glave, tako da su moguće štamparske greške):
Code:
Sub mojmakro()
Dim a(0 To 17) As Long
Dim rezultat(0 To 17) As Long
Dim BrojCelije As Integer
Dim Brojac As Long
Dim NemaFajlova As Boolean
Dim celija As Range
Dim celijasve As Range
Brojac = 0
For BrojCelije = 0 To 17
rezultat(BrojCelije) = 0
Next BrojCelije
Do Until NemaFajlova = True
DoEvents
BrojCelije = 0
Brojac = Brojac + 1
Excel.Workbooks.Open ("C:\s" & Brojac & ".xls")
For Each celija In Workbooks(2).Worksheets(1).Range("F5:H10")
a(BrojCelije) = celija.Value
rezultat(BrojCelije) = rezultat(BrojCelije) + a(BrojCelije)
BrojCelije = BrojCelije + 1
Next celija
Excel.Workbooks(2).Close
If Dir("C:\s" & Brojac + 1 & ".xls") = "" Then NemaFajlova = True
Loop
BrojCelije = 0
For Each celijasve In Workbooks(1).Worksheets(1).Range("F5:H10")
celijasve.Value = rezultat(BrojCelije)
BrojCelije = BrojCelije + 1
Next celijasve
Excel.Workbooks(1).Save
MsgBox "Broj sabranih fajlova je " & Brojac
End Sub


Eto ti rešenje, onako "na prvu loptu" koje bi trebalo da radi.E sad, ovo verovatno može i da se malo ubrza još malo, pa ti vidi da li ti i ovako završava posao ili da menjamo nešto.

Poz.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 26.05.2005. u 13:57 - pre 230 meseci

Marko,

isprobavam, ide nešto sporije ali ide.

Ima RAM-a, ali strpljenje me zbog mehanike redosleda ponekad izda.

Javiću ti čim "provučem" određene najpre probne vrednosti a zatim i korisničke.
Eh kada bi radio duže sa tobom, možda bih i još više naučio.

Budi i dalje to i takav, mada je za ovu zemlju to skoro useless.

Javljam se a za PP mi inije jasno kako nisi dobio.

Ako želiš pošalji mi tvoj mail na PP.


pozdrav znalcima





 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 27.05.2005. u 12:33 - pre 230 meseci
Marko,


nije da "fercera" nego just that.

zamolio bih te još nešto, čoveče, ti to radiš iz glave a ja moram proveravati red po red naredbe u Code, radi se o sledećem:
Pošto mogu očekivati probleme sa Macro-ima kod korisnika koji računaju međuzbir vrednosti, bilo bi dobro da mi Code za VB koji si dostavio u poruci broj 15 od 08.05.2005 u 16:52 dopuniš sa naredbama SetXlapp, SetxlBook, SetxlSheet..., xlBook, xlSheet..,sada za slučaj sabiranja A1:C5 (ili je isto kao u navedenoj poruci, pošto je onaj deo bio samo za jednu ćeliju F5).
U tom slučaju bih dostavio korisnicima prevedeni .exe fajl VB, pa će već ići.
Znači imao bih verziju za Macro, a posebno verziju za VB pa kako ko voli.

Nadam se da sam


Važi za tebe Y.N.W.A.- aktuelno na ostrvu.


Pozdrav


 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 27.05.2005. u 15:40 - pre 230 meseci
Ne znam zašto misliš da bi imao problema sa makroima na drugom kompu.Čak šta više, veće su šanse da bude problema sa exe fajlom pošto on zahteva da korisniku dostaviš i registruješ i vbruntime fajlove, i još neke zavisno od toga šta ubaciš u aplikaciju.Doduše sve to se da rešiti, ali ipak ti predlažem da se držiš makroa, ako je reč samo o radu u Excelu, jer čim šalješ te xls fajlove korisniku, to bi trebalo da znači da isti ima instaliran i Excel.Možda ja nisam dobro razumeo na šta misliš kad kažeš da možeš očekivati probleme.Zbog čega ?
No u svakom slučaju, kako hoćeš.Evo kako bi trebalo da izgleda kod za ovo zadnje u VB-u, recimo kada se klikne na command button
Code:
Private Sub Command1_Click()
Dim xlapp As Excel.Application
Dim a(0 To 17) As Long
Dim rezultat(0 To 17) As Long
Dim BrojCelije As Integer
Dim Brojac As Long
Dim NemaFajlova As Boolean
Dim celija As Range
Dim celijasve As Range
Brojac = 0
For BrojCelije = 0 To 17
rezultat(BrojCelije) = 0
Next BrojCelije
Set xlapp = New Excel.Application
xlapp.Workbooks.Open ("C:\ssve.xls")
Do Until NemaFajlova = True
DoEvents
BrojCelije = 0
Brojac = Brojac + 1
xlapp.Workbooks.Open ("C:\s" & Brojac & ".xls")
For Each celija In xlapp.Workbooks(2).Worksheets(1).Range("F5:H10")
a(BrojCelije) = celija.Value
rezultat(BrojCelije) = rezultat(BrojCelije) + a(BrojCelije)
BrojCelije = BrojCelije + 1
Next celija
xlapp.Workbooks(2).Close
If Dir("C:\s" & Brojac + 1 & ".xls") = "" Then NemaFajlova = True
Loop
BrojCelije = 0
For Each celijasve In xlapp.Workbooks(1).Worksheets(1).Range("F5:H10")
celijasve.Value = rezultat(BrojCelije)
BrojCelije = BrojCelije + 1
Next celijasve
xlapp.Workbooks(1).Save
MsgBox "Broj sabranih fajlova je " & Brojac
Set xlapp = Nothing
End Sub

Naravno, nemoj da zaboraviš da dodaš VB-u referencu na Microsoft Excel Object Library.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 30.05.2005. u 13:55 - pre 230 meseci
Marko,


većina korisnika ima problema sa Office, odmah im se prilikom podizanja neke aplikacije Disable macros, (ne samo zbog Security level) imao sam slučajeve kada nisam mogao da Enable-ujem Macro.
Nešto je prilikom instalacije OS i Office verovatno sprečavalo Macros.
Napiši mi još samo da li znaš mogućnost da zaključam Macro tj. ne dozvolim korisnicima da Edit-uju macro?
Verujem da te ne opterećujem, sigurno si se susreo sa sličnim u vezi zaštite Macros.
Na projektu na kojem radim se uhodavam, jer nije bilo predviđeno ovo što si mi ti uradio-pomogao, već sam ja na svoju ruku smišljao i kako sam nailazio na probleme, javljao sam se.
Stvarno si cool, šteta je što nismo bili u prilici da odemo malo na ovaj sajam od pre par dana.

Pozdrav




Rad,rad ...
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 30.05.2005. u 16:08 - pre 230 meseci
Citat:
većina korisnika ima problema sa Office, odmah im se prilikom podizanja neke aplikacije Disable macros, (ne samo zbog Security level) imao sam slučajeve kada nisam mogao da Enable-ujem Macro.
Nešto je prilikom instalacije OS i Office verovatno sprečavalo Macros.

Da, to može da bude problem, mada ti tu ne možeš ništa, to je do klijenta, a ne do tebe.No dobro, kod takvih možeš da iskoristiš program napisan u VB-u.
Citat:
Napiši mi još samo da li znaš mogućnost da zaključam Macro tj. ne dozvolim korisnicima da Edit-uju macro?
Verujem da te ne opterećujem, sigurno si se susreo sa sličnim u vezi zaštite Macros.

Nema tu neke preterane mudrosti.Jednostavno stavi password na kod.To ćeš uraditi ovako, u Project browseru klikneš desnim dugmetom miša na ime projketa, pa izabereš project properties, pa onda imaš stavku Protection, ili tako nešto i tu štikliraš opciju za zaključavanje koda, tj. ne može ni da se čita, ni da se piše (ne znam tačno kako glasi opcija, ali je jedna jedina u Protection sheet-u, pa ne možeš da promašiš), i ispod imaš da staviš password.Što duži password, to je teži za razbijanje.Da li postoji neka advanced zaštita, nisam upoznat, ali meni lično najobičniji password završava posao.
Citat:
Stvarno si cool, šteta je što nismo bili u prilici da odemo malo na ovaj sajam od pre par dana.

Hvala, a za sajam, pa biće ih još valjda :)

Poz.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 31.05.2005. u 12:55 - pre 230 meseci
Marko,


biće sajma nego šta.

Pošalji mi na PP tvoj mail pa čekamo, mađarice, francuskinje ili neke druge ...šta...

Zamolio bih te da ti ili tvoje kolege zaključite ovu temu, mada je moguće da će se neko zainteresovan javljati sa narednim "egzotikama".
Stvarno si "boli glava-pade kokos".

Divno je saznanje da postoje takvi kao ti i da ih je dovoljno pa i sve više.

Pozdrav i tu sam opet





 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.yubc.net.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 06.06.2005. u 22:30 - pre 230 meseci
Marko,

izvini opet ja.
Code koji si mi poslao radi, nema nego, ali opet se pojavio specifičan problem.
Pokušaću na primeru da ti objasnim:

Code:
   
...
For Each celijasve In Workbooks(1).Worksheets(1).Range("F5:H10")
...


Sabiraju se sve ćelije, milina živa.
Ali pojavilo mi se nešto što nisam očekivao.Uzimam isti primer.
Određeni redovi su protected i ne sme se vršiti sabiranje u njima.
Želim napr. sabrati ćelije u redu F5:F8, u iste u fajlu ssve.xls.
Preskačem red red 6 tj. F6:H6 ne mogu sabrati, jer je Protected rows.
Zatim ponovo želim sabrati ćelije F7:H8, znači redovi 7 i 8 se sabiraju.
Ponovo se preskače red 9 tj. F9:H9 jer su protected i na kraju recimo
želim zbir F10:H10.
Ti protected rows su poznati.(ili bih mogao dati neki upit za njih odn. one redove koje ne mogu sabrati)
Da li bih mogao tada koristiti Hidden Rows naredbu kojom se Vrednosti u protected rows ne bi sabirale?

Code:
   
...
     Rows ("6:6").EntireRow.Hidden = True
...


tj. tada ih Macros ne bi sabirao ili predlažeš da se napravi Upit za protected Rows
....
If Cells (6, 6).Value = Protected Then
Rows("6:6").EntireRow.Hidden = True

Nadam se da uskoro zatvaramo ovu temu.

Pozdrav
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 07.06.2005. u 00:45 - pre 230 meseci
Mislim da je najbolje i najjednostavnije da u samoj petlji koja izvodi račun staviš da protected celije ne sabira.Nešto tipa
Code:
If Not celija.Value = Protected Then
'procedura za racunanje
End If

-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 07.06.2005. u 14:04 - pre 230 meseci
Marko,


nadam se da sam dobro razumeo i šaljem ti samo deo koda koji sabira Value iz ćelija, izuzev Pretected.

Code:

...
For Each celija In Workbooks(2).Worksheets(1).Range("F5:H10")
a(BrojCelije) = celija.Value
If Not celija.Value = Protected Then
rezultat(BrojCelije) = rezultat(BrojCelije) + a(BrojCelije)
BrojCelije = BrojCelije + 1
End If
Next celija
...



Ali opet ja tu nešto kao ...
Ako u ćeliji nije unešen broj, niti ikakav podatak da li da se podrazumeva da je unešena 0 tj.

If a(BrojCelije) = Nothing Then
a(BrojCelije) = 0
End If
ili da ništa ne menjam, neunešena value neće biti sabrana?
U žurbi sam nekoj i nadam se da ću sutra probati "funktionieren, ja ja".

Pozdrav
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 08.06.2005. u 11:58 - pre 230 meseci
Marko,

bilo je malo gimnastike ali

Code:

...
For Each celija In Workbooks(2).Worksheets(1).Range("C9:L22")
a(BrojCelije) = celija.Value
rezultat(BrojCelije) = rezultat(BrojCelije) + a(BrojCelije)
BrojCelije = BrojCelije + 1
If Not celija.Value = Protected Then
    ' sabiranje
End If
Next celija
Excel.Workbooks(2).Close
..



funkcioniše.
Međutim u Pretected ćelijama ili u ćelijama gde je Calculated ćelija (sadrži neku funkciju SUM(C14:C22)), izračuna se ta suma, ali u statusnoj liniji excel gde je bila SUM izbriše funkciju.
To mi nešto remeti-smeta, poželjno je da ostane funkcija na statusnoj liniji.
Da li bi mi rešila ovaj problem funkcija koja ne menja sadržaj polja i kako to da izvedem.

Što se tiče onih 0(nula) u redu je ne moram unositi vrednost 0 u ćeliju.

Pozdrav


 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 08.06.2005. u 15:00 - pre 230 meseci
Polja koja sadrže bilo kakvu formulu ne bi trebalo da menjaš iz koda, jer ona se automatski popunjava kada se piše po poljima koja su obuhvaćena tom formulom.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 09.06.2005. u 10:24 - pre 230 meseci
Marko,

nisam ni nameravao da Code-om menjam ćelije sa formulom, ali sam te upitao za razlog zašto se nakon Run--Macro izbriše formula SUM(...) iz ćelije u kojoj je bila pre izvršavanja Macroa.?
Dakle nadam se da se razumemo, Protected ćelije i ćelije sa formulama ja NE ŽELIM MENJATI sa Code.
Zato te sada i pitam da li bi trebalo i ćelije sa formulama da budu Protected?

Hvala ti unapred, bliži se vreme da se tema zaključi, ali sačekaj još malo


Pozdrav


 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 09.06.2005. u 19:03 - pre 229 meseci
Izvini, malo sam više u poslu zadnjih 2-3 dana, pa nisam pažljivo čitao postove.Samo sam ovlaš pokušao da ti pomognem.Elem, što se tiče tog problema, nije mi baš najjasnije šta se tačno dešava.Ukoliko makro menja vrednost te ćelije sa formulom, onda je sigurno negde "zakačiš" iz koda.Jesi li probao da ih staviš da i one budu Protected pa da vidiš šta se dešava.A možda bi mogao, ako tačno znaš koja ćelija sadrži formulu da je jednostavno preskočiš sa nečim tipa (ovo je pseudo) kod If celija.Row = x And celija.Col = y Then pređi na sledeću ćeliju.Ajde ako ne rešiš problem, postuj deo koda koji pravi problem, pa ći pogledati (sutra ću imati malo više vremena).
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 14.06.2005. u 09:02 - pre 229 meseci
Marko,


ajde još malo samo.

Pojavio mi se i slučaj kada se izračunava zbir ćelija u jednom redu, a zatim u redu ispod njega formula koja ponavlja vrednosti iz prethodnog reda:
napr.
Red 3
A3=100, B3=200 C3=500
Ove vrednosti su rezultat zbira A3:C3 iz prethodnih fajlova
Red 4
A4=A3, B4=B3 C4=C3

Međutim deo Code
If InStr(1, celija.Formula, "SUM") = 0 And Not celija.Value = "Protected" Then


Code:

...
If InStr(1, celija.Formula, "SUM") = 0 And Not celija.Value = "Protected" Then
a(BrojCelije) = celija.Value
rezultat(BrojCelije) = rezultat(BrojCelije) + a(BrojCelije)
BrojCelije = BrojCelije + 1
End If
Next celija
Excel.Workbooks(2).Close
If Dir("C:\ibk\os\ss\osss" & Brojac + 1 & ".xls") = "" Then NemaFajlova = True
Loop
BrojCelije = 0
For Each celijasve In Workbooks(1).Worksheets(1).Range("A1:C10")
If InStr(1, celijasve.Formula, "SUM") = 0 And Not celijasve.Value = "Protected" Then
....


mi izbriše formule
A4=A3, B4=B3 C4=C3 i unesu se vrednosti u polja A4:C4.

Da li može umesto "SUM" da stoji "" čime bi bio obuhvaćen bilo šta unešeno u formulu pa i znak = tj. statusnoj liniji ćelije?
Ma nije da napredujemo nego nam ni Red Army ne može ništa.

Hvala unapred i pozdrav

E da , nemoj da te zbunjuje Path C:\ibk\os\ss i File Name osss

* Opet da dodam
* Malo gimnastike, stavio sam u polja koja se formulom poistovećuju odn. red 4
* A4=SUM(A3+0)


 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.rcub.bg.ac.yu.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 14.06.2005. u 12:46 - pre 229 meseci
Molba za pomoć!
H I T N O !

Marko i ostali experti,


pokušajte mi objasniti izvor greške
U code
Code:


Sub makroibk()
Dim a(0 To 29) As Long
Dim rezultat(0 To 29) As Long
Dim BrojCelije As Integer
Dim Brojac As Long
Dim NemaFajlova As Boolean
Dim celija As Range
Dim celijasve As Range
Brojac = 0
For BrojCelije = 0 To 29
rezultat(BrojCelije) = 0
Next BrojCelije
Do Until NemaFajlova = True
DoEvents
BrojCelije = 0
Brojac = Brojac + 1
Excel.Workbooks.Open ("D:\ess" & Brojac & ".xls")
For Each celija In Workbooks(2).Worksheets(1).Range("A1:C10")
If InStr(1, celija.Formula, "SUM") = 0 And Not celija.Value = "Protected" Then
a(BrojCelije) = celija.Value
rezultat(BrojCelije) = rezultat(BrojCelije) + a(BrojCelije)
BrojCelije = BrojCelije + 1
End If
Next celija
Excel.Workbooks(2).Close
If Dir("D:\ess" & Brojac + 1 & ".xls") = "" Then NemaFajlova = True
Loop
BrojCelije = 0
For Each celijasve In Workbooks(1).Worksheets(1).Range("A1:C10")
If InStr(1, celijasve.Formula, "SUM") = 0 And Not celijasve.Value = "Protected" Then
celijasve.Value = rezultat(BrojCelije)
BrojCelije = BrojCelije + 1
End If
Next celijasve
Excel.Workbooks(1).Save
MsgBox "Broj sabranih fajlova je " & Brojac
End Sub




"Run Time Error "6"

Overflow

Na stranama objasnjenja Moderatora mladenovicz pod
Overflow

dobijem komentar

TopicID nije naveden/nađen. Koristite Pretragu iz gornjeg menija da biste pronašli temu koja vas zanima.

Marko koristio sam Code koji si mi .zip poslao
Nastavlja se

Hvala unapred


Pozdrav




 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.yubc.net.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 14.06.2005. u 20:42 - pre 229 meseci
Marko,

Pokušavao sam da učitam preko 30 fajlova, bilo je i protektovanih i ćelija sa formulama i možda je to razlog Run Time Error ‘6’ Overflow .
Da te ne bih opterećivao sa svojim eksperimentisanjem, hajde još samo razmisli i ako želiš pomozi u istom cilju, da ne bih istraživao granice i pravio akrobacije, mogu naići na ograničenja kod korisnika koji sačinjavaju međuzbir.
Dakle ovako ti predlažem:
Svaki fajl je imenovan ess1.xls, ess2.xls i tako desetine puta, sa određenim brojem protektovanih i određenim brojem ćelija sa formulama.
Možeš li prepraviti i dopuniti Code koji si mi poslao Upload (koji je volšebno nestao sa ovog foruma), tako da fajl essve.xls parcijalno računa zbir, tj. beleži zbir (po mogućnosti pokaže dotadašnji broj učitanih fajlova - znači nije neophodno), zadržava tu vrednost zbira do recimo ess20.xls, pa se nakon 1 dana želi učitati naredni fajl čije se vrednosti žele sabrati sa dotadašnjim zbirom odn. “Učitaj naredni fajl ess21.xls”, (ne mora broj dotada učitanih “21” ako je veliki problem), Run macroibk koji računa novi zbir i zapamti vrednost, pa zatim nakon 3 dana kada se želi učitati ess22.xls, ponovo “Učitaj naredni fajl ess22.xls “(ne mora broj dotada učitanih “22” ako je veliki problem), Run macroibk i ponovo se snimi to trenutno stanje zbira (po mogućnosti sa MsgBox da je “Učitano je _ _ fajlova” iz Counter-a – znači nije neophodno).
Pravilo o imenovanju fajlova se poštuje.

Stvarno dosađujem, ali ograničenja su brojna, (MSOffice-Macro i Verzija, Memory, tako da bi me privremeno spaslo učitavanje JEDNOG PO JEDNOG FAJLA , Macro-om.
I tada privremeno prestajem da ti dosađujem, ali već imam novih tema- dilema- problema-..
Hvala unapred i podsetiću te na događaje 2006 godine.
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
*.yubc.net.

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 15.06.2005. u 17:42 - pre 229 meseci
Što se tiče onog InStr i SUM, možeš da ubaciš bilo šta što je karakteristično za formulu, a nema ga u drugim ćelijama.E sad, verovatno postoji i bolji način da se odredi da li ćelija sadrži formulu ili ne, ali ne mogu da se setim sad.
A što se tiče overflow-a, nije sigurno do broja fajlova koji se otvaraju, jer u kodu koji sam ti dao se ne otvaraju svi odjednom, već jedan po jedan.Znači fajl se otvore, pokupe se potrebni podaci, smeštaju u matricu, a zatim se fajl zatvara, i otvara sledeći i sve tako.Pre će biti da se overflow javlja zbog neke promenljive koja ne može da prihvati određenu vrednost.Bilo bi dobro da vidiš tačno na kojoj liniji se javlja overflow, pa ćemo tako lakše naći problem.A pre toga možeš da probaš sledeće
Zameni
Code:
Dim a(0 To 29) As Long
Dim rezultat(0 To 29) As Long

sa
Code:
Dim a(0 To 29) As Double
Dim rezultat(0 To 29) As Double


P.S. - Što se tiče nestalih fajlova, odnosno poruka, do toga je došlo zbog problema sa ES bazom, tako da su iste otišle u nepovrat.Ukoliko ti trebaju ti fajlovi, nije problem, imam ih sačuvane, pa ti mogu okačiti ponovo.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

stefann127
Stefanovic Nebojsa
ITS
Beograd

Član broj: 55741
Poruke: 91
*.yubc.net.



Profil

icon Re: VB - Excel sabiranje istih cells iz Sheets u poseban .xls 15.06.2005. u 21:08 - pre 229 meseci
Marko,

našao sam u MSDN da je overflow Error 6 posledica toga što postoji ograničenje u broju redova od 2519 koje se nalaze u TBLInterseHistory table odn. navodim ti text iz MSDN:

SYMPTOMS
When you use the Import History Manager in Usage Import and there are more than 2,519 rows in the TBLInterseHistory table, the following error message occurs:

Run-Time error '6': Overflow
After you click OK, Usage Import shuts down.

CAUSE
During this process, there is a signed integer variable used for indexing. When the number of rows in the TBLInterseHistory table exceeds 2,519, the index exceeds the maximum allowable value for a signed integer (32767 or 7FFF Hex).
To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:

http://support.microsoft.com/directory/overview.asp

The English version of this fix should have the following file attributes or later:


Date Time Size File name Platform
------------------------------------------------------------------
08/24/1999 8:17PM 2,259,968 UImport.exe (Access) x86
08/24/1999 8:17PM 2,442,240 UImport.exe (SQL Server)

08/24/1999 8:17PM 2,822,656 UImport.exe (Access) Alpha
08/24/1999 8:17PM 3,019,264 UImport.exe (SQL Server)



te se nudi download fajlova.
Ali na to ne mogu računati kod korisnika čiju konfiguraciju ne poznajem, tako da mi je nesigurno.
Što se tiče mesta zastoja i pojave Error, ono se menja zavisno od toga da li su u nekim ćelijama bile unešene vrednosti ili su bile prazne.
Isprobao sam i tražio uzrok promene mesta Nastanka greške i jedino to pronašao.

Dakle misliš da je dovoljno da promenim Dimension promenljive a i rezultat
Probaću deklarisanjem As Double ali sam u obavezi da do 20 juna pošaljem korisnicima Macro (normalno Password -ovan), pa se bojim da li ću stići ili da parcijalno uradim dva ili tri makroa, jednim da se sabira recimo A13,sledećim makroom F1:F3 i td.
Tako sam probao i ide, u Validation svih ćelija su uneli Number, Greather then 0, drugih ograničenja nema.


Što se tiče fajlova snimio sam ih i imam ih ali me je malo iznenadilo kako su nestali.
OK!

Hvala ti na razumevanju samo mi napiši da li učitavanje jednog po jednog fajla
parcijalno može promeniti stanje resources.

Ma biće sveta, dok je takvih.
Evo nešto za tebe!

Koristi one talente koje imaš.
Šume bi bile veoma tihe ako bi pevale samo one ptice koje najbolje pevaju!




 
Odgovor na temu

[es] :: Visual Basic 6 :: VB - Excel sabiranje istih cells iz Sheets u poseban .xls

Strane: 1 2 3

[ Pregleda: 13297 | Odgovora: 44 ] > FB > Twit

Postavi temu Odgovori

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