• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

even en oneven

Status
Niet open voor verdere reacties.

maurizzio78

Gebruiker
Lid geworden
20 dec 2012
Berichten
35
hallo alweer,

is het mogelijk middels vba om vanuit een named range op basis of er een even of oneven getal voor staat deze te laten plaatsen op een
gekozen gebied op een andere sheet?

dus bv ik heb een lijst met spelers die ik geloot heb middels rang.gelijk en aselect() nu wil ik dat vanuit die lijst op een andere sheet in 2 kolommen verdeeld hebben.
dus op sheet1 staat de lotinglijst en ik wil het op sheet2 geplaatst hebben met in kolom K cel 5 het kleinste oneven getal en zo verder naar beneden en het zelfde voor
de even getallen maar dan de kolom ernaast?



alvast bedankt grtz maurizzio labruzzo
 

Bijlagen

Laatst bewerkt:
Hmmm..
in cel K5 het getal 1, in cel L5 het getal 2.
dan in K6 =K5+2 en in L6 =L5+2
en de formules naar beneden toe doortrekken.

of denk ik nou te simpel?
 
Laatst bewerkt:
dat is wat ik al had maar moet het echt middels vba op die manier voor elkaar krijgen zodat ik de rest van lotingen etc juist kan verichten.
 
met VBA

Code:
Sub L201()
Dim varMax As Long
Dim r As Long

varMax = WorksheetFunction.Max(Sheets("blad1").Range("A:A"))
r = (varMax / 2) + 4

With Sheets("Blad2")
    .Range("K5:K" & r).Formula = "=(row()-4)*2-1"
    .Range("L5:L" & r).Formula = "=(row()-4)*2"
    .Range("K5:L" & r).Value = .Range("K5:L" & r).Value
End With

End Sub
 
met VBA

Code:
Sub L201()
Dim varMax As Long
Dim r As Long

varMax = WorksheetFunction.Max(Sheets("blad1").Range("A:A"))
r = (varMax / 2) + 4

With Sheets("Blad2")
    .Range("K5:K" & r).Formula = "=(row()-4)*2-1"
    .Range("L5:L" & r).Formula = "=(row()-4)*2"
    .Range("K5:L" & r).Value = .Range("K5:L" & r).Value
End With

End Sub

waar zet ik deze code dan? onde de button waarmee ook toernooi mee start of achter een sheet of module?
 
>waar zet ik deze code dan? onde de button waarmee ook toernooi mee start of achter een sheet of module?

Ja, daar zou ik 'm neerzetten.
Ik weet niet hoe dat in jou bestand er uit ziet.
want die button(s) zitten niet in het voorbeeldbestand.
 
In de lengte van K of L kan verschil komen als het eindigt op even of oneven.

Code:
Sub hsv()
Dim sv, x As Long
 sv = Sheets("blad1").Range("e2", Sheets("blad1").Cells(Rows.Count, 5).End(xlUp))
 x = UBound(sv)
    With Sheets("blad2").Cells(5, 11)
         .Resize((x \ 2) - (x / 2 > x \ 2)) = Evaluate("2*row(1:" & x \ 2 - (x / 2 > x \ 2) & ")-1")
         .Offset(, 1).Resize(x \ 2) = Evaluate("2*row(1:" & x \ 2 & ")")
    End With
End Sub
 
In de lengte van K of L kan verschil komen als het eindigt op even of oneven.

Code:
Sub hsv()
Dim sv, x As Long
 sv = Sheets("blad1").Range("e2", Sheets("blad1").Cells(Rows.Count, 5).End(xlUp))
 x = UBound(sv)
    With Sheets("blad2").Cells(5, 11)
         .Resize((x \ 2) - (x / 2 > x \ 2)) = Evaluate("2*row(1:" & x \ 2 - (x / 2 > x \ 2) & ")-1")
         .Offset(, 1).Resize(x \ 2) = Evaluate("2*row(1:" & x \ 2 & ")")
    End With
End Sub

een ander vraagje zodat ik misschien de ode ook ga begrijpen er staat sv = sheets("blad1").range("e2, etc,etc
waar vewijst die e2 naar?
 
Naar de cel E2. Les 1 van basiscursus 1. Al het quoten is overigens niet nodig.
 
een ander vraagje zodat ik misschien de ode ook ga begrijpen er staat sv = sheets("blad1").range("e2, etc,etc
waar vewijst die e2 naar?

Dan zal dit je volgende vraag worden wat het betekent.
Code:
.Resize((x \ 2) - (x / 2 > x \ 2))
 
deze is oook heel erg mooi gemaakt idd ik zag dat je rang.gelijk en aselect hebt weg gelaten en het alsnog werkt ik ga denk ik met deze optie verder proberen.
 
Het is niet weggelaten maar wordt weer gewist. (kolom D). ;)
 
dat bedoelde ik ook eigenlijk en dat is wel beter zodat er niet na iedere bewerking ergens weer gehusseld word.
alleen voorie ik al een klein probleem hierdoor.
er kunnen vrijloten voorkomen en die wil ik eigenlijk bovenaan in de loting hebben en als er 2 koppels zijn die een rijlot hebben gehad deze dus tegen elkaar komen.
ik ga wat experimenteren of ik er zelf mee kan uitkomen en anders meld ik mij wel weer. iig harstikke bedankt allemaal.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan