» »

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.

Damiani ::

poglej si mal tutorial. OpenOffice.org (=) starOffice

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

salabajs ::

Zaenkrat imam tole..

'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.:
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)..

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)..

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..

Damiani ::

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…

salabajs ::

Hvala Damiani! Mogoče veš kak potem iz VB (sub rutine) kličeš, da se ti forma odpere (delam kot neke vrste čarovnika.. )

Damiani ::

ne vem, nisem teh form nikoli delov. malo pogooglaj, boš ziher velik našel.

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).


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Excel: tiskanje po vrsticah

Oddelek: Pomoč in nasveti
7953 (866) luksorzi
»

Funkcije v OO Calc

Oddelek: Programiranje
8596 (546) ToniT
»

excel+visual basic

Oddelek: Pomoč in nasveti
101470 (1357) švrk
»

[Excel] problem z makrojem, visual basic (strani: 1 2 )

Oddelek: Programiranje
585410 (4873) steev
»

Visual Basic in Excel

Oddelek: Programiranje
262517 (2083) Vesoljc

Več podobnih tem