Toon posts:

[EXCEL]Celverwijzingen bij sorteren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vraag mbt sorteren. Als ik heb:
A1 = speler1 B1 = 14
A2 = speler2 B2 = 3
A3 = speler3 B3 =6

team1 = speler1 + speler2
D15 = SOM(B1+B2)

Nu als ik de getallen sorteer, dan kan ik keurig kiezen om de speler namen mee te laten gaan. Helaas wordt de som ook op nieuw berekend met nieuwe waarde, maar ik wil dus dat die de oude waardes die bij speler1 en speler2 bij elkaar op blijft tellen.

Ik zal vanmiddag meer gegevens geven als dit nodig is, ik moet nu even weg.

  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 22:13
D15=SOM(VERT.ZOEKEN("speler1",A1:B3,2,ONWAAR)+VERT.ZOEKEN("speler2",A1:B3,2,ONWAAR))
Misschien moet je de komma's even door puntkomma's vervangen.

Verwijderd

Topicstarter
Even een ander vraagje, vindt het niet correct om daar een heel nieuw forum over te plaatsen, misschien een subject change, maar daar heb ik geen recht op.

Waarom werkt dit niet gewoon:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Public Sub start()
    Dim oldsheet As Integer
    oldsheet = 1
    Application.OnTime Now + TimeValue("00:00:02"), "SaveMe"
End Sub

Public Sub SaveMe()
    
          ActiveWorkbook.Save
    
    Application.OnTime Now + TimeValue("00:00:17"), "SaveMe"
    Application.OnTime Now + TimeValue("00:00:10"), "Ws"
    
End Sub

Public Sub Ws()

    If oldsheet = 1 Then
    oldsheet = 2
    Else
    oldsheet = 1
    End If
    Worksheets(oldsheet).Activate

End Sub


EDIT: het gaat om het switchen van active sheet.
EDIT2: het heeft geloof ik met scope te maken, de variabele gaat steeds 'dood'

[ Voor 8% gewijzigd door Verwijderd op 30-03-2007 13:58 ]


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 22:13
Probeer dit eens:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Dim oldsheet As Integer

Public Sub start()
    oldsheet = 1
    Application.OnTime Now + TimeValue("00:00:02"), "SaveMe"
End Sub

Public Sub SaveMe()
    
          ActiveWorkbook.Save
    
    Application.OnTime Now + TimeValue("00:00:17"), "SaveMe"
    Application.OnTime Now + TimeValue("00:00:10"), "Ws"
    
End Sub

Public Sub Ws()

    If oldsheet = 1 Then
    oldsheet = 2
    Else
    oldsheet = 1
    End If
    Worksheets(oldsheet).Activate

End Sub

Verwijderd

Topicstarter
Was er al achter gekomen, toch bedankt. Maar het is allemaal niet meer nodig, want ik werk nu gewoon in 1 xls op 1 laptop met beamer. Met volledig scherm en alles uitgeschakeld, ziet er erg mooi en overzichtelijk uit :)

EDIT: dit is een nog elegantere oplossing:

code:
1
2
oldsheet = 1 + (oldsheet Mod 2)
    'Worksheets(oldsheet).Activate

[ Voor 23% gewijzigd door Verwijderd op 30-03-2007 18:15 ]


  • onkl
  • Registratie: Oktober 2002
  • Laatst online: 22:13
oldsheet=iif(oldsheet=1,2,1)

(Als je dan toch je code wil indikken)

[ Voor 42% gewijzigd door onkl op 31-03-2007 19:57 ]


Verwijderd

Topicstarter
onkl schreef op zaterdag 31 maart 2007 @ 19:57:
oldsheet=iif(oldsheet=1,2,1)

(Als je dan toch je code wil indikken)
Bedankt, zo leer ik de syntax van VB nog een keer, haha. Maar goed, het is allemaal goed gegaan en had het allemaal niet meer nodig. Wel wat soorteer scriptjes, maar die liet ik automatisch genereren ;)
Pagina: 1