Forum » Programiranje » Calc/excel delo s tabelo
Calc/excel delo s tabelo
salabajs ::
Pozdrav..
Sam sem začel malo bolj podrobno spoznavat okolje calc-a oziroma excel-a.. (načeloma mora biti v calc-u) Sem začetnik zato bi rabil vašo pomoč.. Trenutno sem na tem problemu.. ;)
Zadeve morem rešit preko makrojev (basic -> programiranje)
Imam tabelo, kjer so celice naključno polne. Torej lahko imamo neko zaporedje cifer v stolpcu vmes pa je kakšna fraj. V celicah se lahko nahaja bilo katera vsebina (številke, text, formule itd)
Kako bi jaz sedaj šel povrsti in shranjeval vrednosti celic.. (jaz jih morem shranit v nek *.xml; ampak za začetek bi rad spoznal postopek kako zajeti podatke). Potrebujem neko zanko, ki bo šla v A1 pa vse do zadnje zapolnjene celice (kako dobiti 'row index' zadnje polne celice - vmes so lahko fraj, ne.. da bi lahko nek števec šel od 1 do naprimer vrstice 20), pa se potem prestavila v B1..
Sam se s tem nisem ukvarjal kaj dosti, z nekimi osnovami sem se seznanil pred letami, upam, da tistemu, ki zna ne bo težko pomagat pa odgovorit tudi če kaka 'neumesna' prileti.. ;)
Hvala za pomoč!
Lp.
Sam sem začel malo bolj podrobno spoznavat okolje calc-a oziroma excel-a.. (načeloma mora biti v calc-u) Sem začetnik zato bi rabil vašo pomoč.. Trenutno sem na tem problemu.. ;)
Zadeve morem rešit preko makrojev (basic -> programiranje)
Imam tabelo, kjer so celice naključno polne. Torej lahko imamo neko zaporedje cifer v stolpcu vmes pa je kakšna fraj. V celicah se lahko nahaja bilo katera vsebina (številke, text, formule itd)
Kako bi jaz sedaj šel povrsti in shranjeval vrednosti celic.. (jaz jih morem shranit v nek *.xml; ampak za začetek bi rad spoznal postopek kako zajeti podatke). Potrebujem neko zanko, ki bo šla v A1 pa vse do zadnje zapolnjene celice (kako dobiti 'row index' zadnje polne celice - vmes so lahko fraj, ne.. da bi lahko nek števec šel od 1 do naprimer vrstice 20), pa se potem prestavila v B1..
Sam se s tem nisem ukvarjal kaj dosti, z nekimi osnovami sem se seznanil pred letami, upam, da tistemu, ki zna ne bo težko pomagat pa odgovorit tudi če kaka 'neumesna' prileti.. ;)
Hvala za pomoč!
Lp.
Damiani ::
getSheets().getByIndex( sheetNum).getCellByPosition(i,startLine).string="ss"
getSheets().getByIndex( sheetNum).getCellByPosition(i,startLine).formula="saas"
to je iz enga mojega programa, da dobiš mal občutka
getSheets().getByIndex( sheetNum).getCellByPosition(i,startLine).formula="saas"
to je iz enga mojega programa, da dobiš mal občutka
salabajs ::
Zaenkrat imam tole..
To mi sedaj poišče za prvi stolpec zadnjo celico z vsebino (tudi če so vmes fraj) in ga do tega mesta skopira v en sosednji stolpec (to je zdaj začasno, da sem lahko poskusil če dela). Kako bi sedaj naredil, da bi mi preštel kolko je takšnih stolpcev z vsebino? (tako kot imam prvi stolpec; Ni smiselno celega lista shranit/kopirat, če imam samo naprimer 5 stolpev 'površno zasedenih'..)
'poiscemo zadnjo aktivno celico v stolpcu Range("a65536").End(xlUp).Offset(1, 0).Select 'pogledamo v kateri vrstici je x = ActiveCell.Row 'MsgBox x 'ponavljamo od prvega pa do zadnje celice z vsebino For i = 1 To x - 1 Cells(i, 3) = Cells(i, 1) Next i
To mi sedaj poišče za prvi stolpec zadnjo celico z vsebino (tudi če so vmes fraj) in ga do tega mesta skopira v en sosednji stolpec (to je zdaj začasno, da sem lahko poskusil če dela). Kako bi sedaj naredil, da bi mi preštel kolko je takšnih stolpcev z vsebino? (tako kot imam prvi stolpec; Ni smiselno celega lista shranit/kopirat, če imam samo naprimer 5 stolpev 'površno zasedenih'..)
Zgodovina sprememb…
- spremenil: salabajs ()
Damiani ::
uporabi if stavek, v njem pa ustrezne števce. npr.:
Očitno nimaš veliko znanja o programiranju.
if cells(i,3).value<>"" then st=st+1 end if
Očitno nimaš veliko znanja o programiranju.
salabajs ::
Nekaj ga imam.. ;P Ampak taki odgovori mi nena nič pomagajo; če bi vsi vse vedli potem verjetno takih forumov ne bi bilo, ne.. (nobenga pa se ne sili k sodelovanju..)
Amm.. ni mi čisto jasno kaj si zdaj s to kodo ti dosegel? Ti preverjaš če je v tisti celici vsebina, če je ni povečaš st, ne?
Tukaj je primer neke tabele
Torej.. Jaz si hočem zapomnit to tabelo. Smiselno je, da grem povrsti - prvi stolpec pa grem do zadnje celice z vsebino, si ga zapomnim (shranim kakorkoli) -> ta del mam; potem pa se pomaknem na drugi stolpec pa tam ponovim zadevo.. Zdaj pa je lahko v stolpcu že prva celica prazna (lahko jih je več zaporedoma), ampak dalje so pa še zapolnjene.. Jaz bi pa zdaj rad samo ugotovil, kak bi dobil preko kode podatek, ki mi bo povedal koliko je takšnih stolpcev (v zgornji tabeli jih je 5)..
Amm.. ni mi čisto jasno kaj si zdaj s to kodo ti dosegel? Ti preverjaš če je v tisti celici vsebina, če je ni povečaš st, ne?
Tukaj je primer neke tabele
Torej.. Jaz si hočem zapomnit to tabelo. Smiselno je, da grem povrsti - prvi stolpec pa grem do zadnje celice z vsebino, si ga zapomnim (shranim kakorkoli) -> ta del mam; potem pa se pomaknem na drugi stolpec pa tam ponovim zadevo.. Zdaj pa je lahko v stolpcu že prva celica prazna (lahko jih je več zaporedoma), ampak dalje so pa še zapolnjene.. Jaz bi pa zdaj rad samo ugotovil, kak bi dobil preko kode podatek, ki mi bo povedal koliko je takšnih stolpcev (v zgornji tabeli jih je 5)..
Zgodovina sprememb…
- spremenil: salabajs ()
smetko ::
pomotoma sem to dal v neko podobno temo, kjer je bilo podobno vprašanje.
Sub PodatkovVKoloni() ' Dim ZadnjaVrstica, ZadnjiStolpec, i, j As Integer Dim PodatkoVKoloni As Integer ZadnjaVrstica = ActiveCell.SpecialCells(xlCellTypeLastCell).Column ZadnjiStolpec = ActiveCell.SpecialCells(xlCellTypeLastCell).Row For i = 1 To ZadnjaVrstica PodatkoVKoloni = 0 For j = 1 To ZadnjiStolpec If Not IsEmpty(Cells(j, i)) Then PodatkoVKoloni = PodatkoVKoloni + 1 End If Next j Cells(j + 1, i).Value = PodatkoVKoloni Next i End Sub
No comment
salabajs ::
No te probleme rečmo, da sem rešil.. + še nekaj stvari se naštudiral.. Zdaj bi pa rabil pomoč pri naslednjem opravilu..
Imam formo, na kateri bi rad ispisal seznam listov, ki jih imam v excel-ovem dokumentu; rad bi da bi to bili 'check-boxi'. Torej, preko kode bi rad, da ko zaženem formo (vrjetno obstaja kaka onLoad funkcija.. bom še pogledal te zadeve), da mi naredi toliko check-box elementov koliko je listov (zraven pa naj piše ime lista)!? Bi mi kdo znal pomagat ali pa me usmerjat?
Najbolj me muči dimaničen del - kak dodat check-box na formo pa če se list doda, da se tam na seznam spodaj tudi novi list doda (izpiše)..
Imam formo, na kateri bi rad ispisal seznam listov, ki jih imam v excel-ovem dokumentu; rad bi da bi to bili 'check-boxi'. Torej, preko kode bi rad, da ko zaženem formo (vrjetno obstaja kaka onLoad funkcija.. bom še pogledal te zadeve), da mi naredi toliko check-box elementov koliko je listov (zraven pa naj piše ime lista)!? Bi mi kdo znal pomagat ali pa me usmerjat?
Najbolj me muči dimaničen del - kak dodat check-box na formo pa če se list doda, da se tam na seznam spodaj tudi novi list doda (izpiše)..
salabajs ::
Pozdrav..
Imam vprašanje. Ali se da narediti form (na katero mečeš gumbe itd) v CALCu? V EXECLu imaš ob strani prikazano 'drevo' in imaš področje forms.. (pa tam ustvariš novo in se ti prikaže 'dizajner'..) Ko sem šel v basic urejevalnik v CALCu, pa je malo drugače..
Imam vprašanje. Ali se da narediti form (na katero mečeš gumbe itd) v CALCu? V EXECLu imaš ob strani prikazano 'drevo' in imaš področje forms.. (pa tam ustvariš novo in se ti prikaže 'dizajner'..) Ko sem šel v basic urejevalnik v CALCu, pa je malo drugače..
Isotropic ::
Sub TextUtils 'Print oTextUtilsDlg.getModel().getByName("UpperCButton").State If oTextUtilsDlg.getModel().getByName("UpperCButton").State = 1 Then Call UpperC ElseIf oTextUtilsDlg.getModel().getByName("LowerCButton").State = 1 Then Call LowerC ElseIf oTextUtilsDlg.getModel().getByName("ProperCButton").State = 1 Then Call ProperC End If End Sub
čak OOO calc ima VB kot makro jezik? zakaj pa to?
Zgodovina sprememb…
- spremenil: Isotropic ()
salabajs ::
Hvala Damiani! Mogoče veš kak potem iz VB (sub rutine) kličeš, da se ti forma odpere (delam kot neke vrste čarovnika.. )
salabajs ::
Saj sem googlal pa nisem nix našel.. :/
Kodo sem pisal v Excelu, pa tam sem vse testiral pa mi dela.. Zdaj pa bi mogo zadevo na Calc prenest, pa nena vse špila; s formo imam glih problem, zdaj sem jo naredil pa dodal gumbe itd. (pa sem tudi dal 'even' gor). Zdaj pa bi rad, da ko poženem makro, da mi odpre to formo - gre za nekakšen vmesnik (uporabnik si nastavi določene zadeve).
Kodo sem pisal v Excelu, pa tam sem vse testiral pa mi dela.. Zdaj pa bi mogo zadevo na Calc prenest, pa nena vse špila; s formo imam glih problem, zdaj sem jo naredil pa dodal gumbe itd. (pa sem tudi dal 'even' gor). Zdaj pa bi rad, da ko poženem makro, da mi odpre to formo - gre za nekakšen vmesnik (uporabnik si nastavi določene zadeve).
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Excel: tiskanje po vrsticahOddelek: Pomoč in nasveti | 1064 (977) | luksorzi |
» | Funkcije v OO CalcOddelek: Programiranje | 632 (582) | ToniT |
» | excel+visual basicOddelek: Pomoč in nasveti | 1533 (1420) | švrk |
» | [Excel] problem z makrojem, visual basic (strani: 1 2 )Oddelek: Programiranje | 5588 (5051) | steev |
» | Visual Basic in ExcelOddelek: Programiranje | 2636 (2202) | Vesoljc |