Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  71 72 73 74 75 76 77 78 79   další » ... 82

teraz niesom na svojom pocitaci a mam tu aj stary Office

takze napisem tu len makro:


Sub test()
aRow = Sheets("concatenate").Cells(1, 1).CurrentRegion.Rows.Count

d = 1
For y = 1 To Sheets("concatenate").Cells(1, 1).CurrentRegion.Columns.Count
For Z = y To Sheets("concatenate").Cells(1, 1).CurrentRegion.Columns.Count
If y <> Z Then
Sheets("Output").Range(Cells(1, d), Cells(aRow, d)).FormulaR1C1 = "=concatenate!RC" & y & "&""_""&concatenate!RC" & Z
d = d + 1
End If
Next
Next
End Sub


to si potom prilep k dokumentu

ok, skus to .))

to eLCHa: prave toto ma teraz napadlo :)))))
to AL: ano, ide som hlupak mam sa co este ucit .)
ochvilu to zakomponujem do prvej verzii makra

vedel by niekto zrychlit tohoto hada??

pusta sa to cez "StartGame"

ide o funkciu:
Application.OnTime Now() + TimeValue("00:00:01"), "Timer"


aj ked ju prepisem na
Application.OnTime Now + 0.000001, "Timer"


tak bud zblbne alebo minimalna hodnota je 1s

Al: ale aj tak musis v array pole prechadzat to po bunke a nemozes jednym povelom to hodit naraz

musi sa to plnit postupne
for x = lbound(c) to ubound(c)
c(x) = a(x) & " " & b(x)
next

nejde napisat c(0 to 200) = a(0 to 200) & " " & b(0 to 200)

uprava prispevku: SLO BY TO :P

no vidim ze rieseni je tu uz dost tak je len kyticku posielam :))

rychlejsie to nepojde .. nenasiel som funkciu ktora by naraz spojila stlpce do jedneho stlpca :) vsetko sa muselo cyklit pojdnom

Ohladne toho druheho makra to by malo fungovat normalne zadas len v nom ktore stlpce chces aby sa cyklili a to je vse

jedine rozdiel je v tom ze nezadavaju sa stlpce A, B C ale 1,2,3 ich poradie

uz idem domov zajtra rano sa nato pozrem

do minutz preto lebo moje makro ide po bunke a v tomtyo ako to ty potrebujes staci ist po stlpcov .. preto takze zamiesto 8400riadkov x 180 stlpcov spracovavani bude robit len 180 spracovavani :)) rozumieme sa?

toto bude nadlhsie ked to chces vysvetlit :)))))

takze:


MyFile = FileSystem.Dir(Application.ThisWorkbook.Path
& "\XLS\" & "*.*")
Do While MyFile <> ""
ReDim Preserve c(x)
c(x) = MyFile
MyFile = FileSystem.Dir
x = x + 1
Loop

1. zaznamena cestu k prvemu suboru v adresari
2. do while cyklus: cykluje subory v adresaroch az kym nebude zaidny
3. pre cyklovani sa redimenzuje pole pri zachovani hodnot a zapise aktualny nazov donho

ok teraz k tvojej otazke:

- zapisal si si do pola p1() nazvi suborov
- ale v cykle si udal uz len ze pre 2 subory co ked ich budes mat 15 alebo 20 alebo 0???

preto sa pouziva zapis


For x = LBound(p1) To UBound(p1)
next

- LBound je minimalna hodnoto pola
- UBound je maximalna hodnota pola

ted k otvaraniu suborov:
nato potrebujes spravnej object zadefinovat tj. ze je to excel :P

Dim xlApp As New Excel.Application


a potom len otvoris subor:

xlApp.Workbooks.Open (Application.ThisWorkbook.Path & "\XLS\" & c(x))


- v zatvorke je priama cesta k suboru

tento zapis v nej:

Application.ThisWorkbook.Path

- da cestu k makru
- a potom sme len dopisali k tej ceste adresar XLS a meno suboru c(x)

ked uz ho mas otvoreny a chces s nim nieco robit staci pouzivat klasicke excel prikazi len pred nimi musi byt zapisane

xlApp.NIECO


po ukonceni sa musi zatvorit lebo ked budes cyklovat otvaranie tychto suborov tak sa nezavru .. aj ked ich nevidis to neznamena ze niesu otvorene preto treba zapisat:

xlApp.Workbooks(c(x)).Close


pracu s array polom uz hadam popisat nemusim nie???

ked to nebudes chapat napis ze tomu nerozumies a ja to spracvim za teba :))))))) ... viem vysvetlovat dobre neviem

teraz ma napadlo ze to moze byt 100x rychlejsie .PPPPP

ved toto co si napisal by malo urobit do 1minuty maximalne

ok prerobil som to tak ako ste to chceli v vzkaze

- kombinacia len pre urcite stlpce

je to tak urobene ze tam mate array pole ktore musite naplnit Columns hodnotami a zadefinovat velkost pola

tj.
chcete tam mat len "B" a "D" stlpec

tak musite v makre prepisat
toto:
Dim c(3) As Integer
c(0) = 1
c(1) = 28
c(2) = 29
c(3) = 30

na:
Dim c(1) As Integer
c(0) = 2
c(1) = 4

skontrolujte si to a dajte vediet ci to je dobre

skus toto

tabulka musi zacinat na bunke "A1"

a to ma robit pre kazdy zapis v tabulke?

dnes sa dari nevsimol som si ze ten dokument je bez makier .)) ... takze som to musel robit odznova ale dorobil som tam aby si tam nemusel zadavat pocet riadkov a stlpcov (tabulka vzdy musi zacat od bunky "A1")

skontroluj si to

to co som napisal bola hlupost :))

ale uz tomu zacinam chapat co asi chces len jednu vec

vsetky kombinacie v jednom riadku chces ze???

a to opakovat pre kazdy dalsi riadok??

resp. bude tabulka 5x5 a vysledna by mala byt ked sa nemzlim :PPP 10x5


Strana:  1 ... « předchozí  71 72 73 74 75 76 77 78 79   další » ... 82

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje