Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Calc » Cyklus makro » 12. 6. 2015 08:38:08

Pekný den,
šupol som to na uschonu,

http://moja.uschovna.zoznam.sk/link/b08 … 069bfdfa55

Je to funkčné (tak ako to potrebujem), ak by ste mi vedeli poradiť, skrátiť môj divoký zápis.

Dakujem

#2 Calc » Cyklus makro » 11. 6. 2015 16:20:06

ferik
Odpovědí: 3

Chcel by som Vás poprosiť o radu, kombinujem tu pár makier čo mi už aj funguje, len by som ho chcel trocha skrátiť.
Cyklus by mi bodol, len sa s tým trápim nejaký ten den a neviem ako dalej. Je to makro pre kopírovanie hodnôt. V prvom liste vyhladá a vpíše do druhého listu (do správnej bunky). Viem skopírovať celé makro a namiesto jmeno = zdroj_list.getCellRangeByName("E1").string pridám "E2" a tak dalej budem kopírovať, len to bude moc velké a neprehladné. Vedeli by ste mi s tým pomôcť?
Vopred dakujem.

sub testovacie_makro
doc = thisComponent
listy = doc.sheets()
zdroj_list = listy.getByName("Sheet1")
ciel_list = listy.getByName("Sheet2")
mesiac = zdroj_list.getCellRangeByName("A1").string
doch = zdroj_list.getCellRangeByName("C1").string
jmeno = zdroj_list.getCellRangeByName("E1").string 'e2,e3,e4 až po e30 tu by som potreboval urobiť cysklus

for i = 0 to 20 ' pro sloupce 0 - 24
hledej_doch = zdroj_list.getCellByPosition(i, 3).string ' (A-Y:4)
if hledej_doch = doch then
  exit for
endif
next i
for j = 1 to 20
hledej_jmeno = zdroj_list.getCellByPosition(0, j).string ' (A:1-100)
if hledej_jmeno = jmeno then
  exit for
endif
next j

suma = zdroj_list.getCellByPosition(i,j) 
export = suma.string

for i = 0 to 24
hledej_mesic = ciel_list.getCellByPosition(i, 0).string ' (A-Y:4)
if hledej_mesic = mesiac then
  exit for
endif
next i
for j = 0 to 100
hledej_jmeno = ciel_list.getCellByPosition(0, j).string ' (A:1-100)
if hledej_jmeno = jmeno then
  exit for
endif
next j

kde = ciel_list.getCellByPosition(i,j)
kde.string = export
End Sub

Zápatí

Používáme FluxBB