pd1lg
Gebruiker
- Lid geworden
- 10 jun 2015
- Berichten
- 142
- Besturingssysteem
- Windows 11
- Office versie
- Office 365
Goedemiddag excel programmeurs,
Ik ben bezig met een biljart score programma te maken voor onze club.
Een aantal dingen is me gelukt met hulp van helpmij.
Maar nu komt ik het volgende stukje VBA prog. tegen, die ook gemaakt is door iemand in dit forum. Bekijk bijlage FED2017_V43_test.xlsb
En die wil ik graag toepassen in mij programma, maar kom er niet uit.
In WB1 word de score (GC) ingevoerd, en worden de rest automatisch ingevuld.
Als alles is ingevuld moet via de knop gegevens opslaan de scores in het blad Moyenne en in het blad PUNTEN worden opgeslagen.
Ik heb twee modules aangemaakt, GC2MOYENNE en PTS2PUNTEN met daarin de bovenste staande prog.
Probeer de formule te begrijpen, maar lukt me niet helemaal. Zoals 'speler= cl.Offset(0, -3). Value'
Offset word gebruikt voor een positie in de sheet, volgens mij. cl is de score, speler= 83.Offset(0, -3). Value
Zou iemand mij uitleg willen geven, of nog mooier een werkend voorbeeld met uitleg
Ik ben bezig met een biljart score programma te maken voor onze club.
Een aantal dingen is me gelukt met hulp van helpmij.
Maar nu komt ik het volgende stukje VBA prog. tegen, die ook gemaakt is door iemand in dit forum. Bekijk bijlage FED2017_V43_test.xlsb
Code:
Sub CmdpuntenNtotaal_Click()
Dim col As Long, r As Long, week As Integer, speler As Integer
week = Sheets("WB1").Range("K3")
Application.ScreenUpdating = False
With Sheets("PUNTEN")
col = WorksheetFunction.Match((week), .Range("A3", "AM3"), 0) ' Weeknummers
End With
With Sheets("WB1")
For Each cl In Range("L8", "L13") 'Score Thuis
If cl.Value > 0 Then
speler = cl.Offset(0, -3).Value
With Sheets("PUNTEN")
r = WorksheetFunction.Match((speler), .Range("B1", "B40"), 0)
End With
cl.Copy
With Sheets("PUNTEN").Cells(r, col)
.PasteSpecial Paste:=(xlValues)
End With
End If
Next
End With
With Sheets("WB1")
For Each cl In Range("R8", "R13") 'Score Uit
If cl.Value >= 0 Then
speler = cl.Offset(0, -3).Value
With Sheets("PUNTEN")
r = WorksheetFunction.Match((speler), .Range("B1", "B100"), 0)
End With
cl.Copy
With Sheets("PUNTEN").Cells(r - 1, col)
.PasteSpecial Paste:=(xlValues)
End With
cl.Offset(0, 2).Copy
With Sheets("Totaal").Cells(r + 1, col)
.PasteSpecial Paste:=(xlValues)
End With
End If
Next
End With
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
En die wil ik graag toepassen in mij programma, maar kom er niet uit.
In WB1 word de score (GC) ingevoerd, en worden de rest automatisch ingevuld.
Als alles is ingevuld moet via de knop gegevens opslaan de scores in het blad Moyenne en in het blad PUNTEN worden opgeslagen.
Ik heb twee modules aangemaakt, GC2MOYENNE en PTS2PUNTEN met daarin de bovenste staande prog.
Probeer de formule te begrijpen, maar lukt me niet helemaal. Zoals 'speler= cl.Offset(0, -3). Value'
Offset word gebruikt voor een positie in de sheet, volgens mij. cl is de score, speler= 83.Offset(0, -3). Value
Zou iemand mij uitleg willen geven, of nog mooier een werkend voorbeeld met uitleg
Laatst bewerkt: