Tildeling af værdi til en celle med en makro

Brugerhjælp og support til makroer i LibreOffice Basic

Redaktører: Lodahl, LarsBrandi

Besvar
Jens Præst
Indlæg: 26
Tilmeldt: 6. aug 2009 22:25
Geografisk sted: nakskov

Tildeling af værdi til en celle med en makro

Indlæg af Jens Præst » 9. aug 2009 23:38

Jeg spiller et onlinespil, hvor det er en fordel hvis man kan spotte spillere som er stoppet (Hvis man ikke logger ind inden for 7 dage, så bliver man inaktiv)

Jeg vil altså finde spillere som ikke er steget i point i de sidste dage

Jeg kopiere ranglisten ind i et regne ark, hvor makroen skal kopiere spillernes point og opdatere hvis der er nye spillere.

Dernæst skal den kunne rykke rundt på nogle kolonner, samt lave en udskrift, hvor der kun er de spillere som jeg finder interessante

Jeg har en ide til opbygningen


<EDIT>

Jeg er kommet frem til følgende kode, meeen det crasher en smule når subrutinerne skal køres.

Hvordan får jeg kopieret de værdier jeg vil kopiere????

<EDIT>
Jeg har indsat
On Error Resume Next
i mine subrutiner, det fungere, men kan det gøres uden???

sub Opdatering

' Overfører point til sammenlignig
' og opretter nye spillere
DIM i as integer, j as integer, oDuk as object, oArk as object
DIM SpillerNavnCelle as object,SpillerNavn as string
DIM ListeNavnCelle as Object, ListeNavn as string
DIM SpillerPointCelle as Object, SpillerPoint as string
DIM ListePointCelle as Object, ListePoint as string
DIM InaktivSpillerCelle as object, InaktivSpiller as string
DIM InaktiveDageCelle as object, InaktiveDage as integer
DIM SpillerOpdateret as boolean
'
oDok=ThisComponent
oArk=oDok.Sheets.getByName("Ark1")
i=4
SpillerNavnCelle=oArk.getcellbyposition(2,i)'Navn på spiller i pastet rangliste
SpillerNavn=SpillerNavnCelle.getstring
Spilleropdateret = FALSE


DO WHILE SpillerNavn <>""
print spillernavn()
Spilleropdateret = FALSE
InaktiveDageCelle=oArk.getcellbyposition(21,i)'Antal dage med inaktivitet
InaktivSpillerCelle=oArk.getcellbyposition(22,i) 'Spiller som har inaktivedage
j=3
DO WHILE Spilleropdateret= FALSE
j=j+1
SpillerPointCelle=oArk.getcellbyposition(5,i)'Point på spiller i pastet rangliste
ListePointCelle=oArk.getcellbyposition(7,j)'Point på gemt rangliste
ListeNavnCelle=oArk.getcellbyposition(6,j)'Navn på spiller i gemt ranbgliste
Listenavn=ListeNavnCelle.getstring
SpillerPoint=SpillerPointCelle.getstring
ListePoint=ListePointCelle.getstring
IF Listenavn=Spillernavn THEN
GOSUB opdaterspiller
ELSEIF Listenavn="" THEN
GOSUB nyspiller
END IF

LOOP 'WHILE Spilleropdatering=FALSE
i=i+1
SpillerNavnCelle=oArk.getcellbyposition(2,i)'Navn på spiller i pastet rangliste
SpillerNavn=SpillerNavnCelle.getstring
LOOP 'WHILE spillernavn <>""
END
nyspiller:
ListeNavn=ListeNavnCelle.setstring(SpillerNavn)

opdaterspiller:
ListePoint=ListePointCelle.setstring(SpillerPoint)
SpillerOpdateret=TRUE
return

END SUB'Opdatering

på forhånd tak

/ Jens Præst

Jens Præst
Indlæg: 26
Tilmeldt: 6. aug 2009 22:25
Geografisk sted: nakskov

Indlæg af Jens Præst » 14. aug 2009 21:51

Kun for at være sikker på at mine ændringer bliver opdaget

Beklager dobbelt posten

Besvar

Hvem er online

Brugere der viser dette forum: Ingen og 2 gæster