Tildeling af værdi til en celle med en makro

Brugerhjælp og support til makroer i LibreOffice Basic

Moderators: Lodahl, LarsBrandi

Post Reply
Jens Præst
Posts: 26
Joined: Thu Aug 06, 2009 21:25
Location: nakskov

Tildeling af værdi til en celle med en makro

Post by Jens Præst » Sun Aug 09, 2009 22: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
Posts: 26
Joined: Thu Aug 06, 2009 21:25
Location: nakskov

Post by Jens Præst » Fri Aug 14, 2009 20:51

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

Beklager dobbelt posten

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 2 guests