område rykkes
jeg har denne herOption Base 1
Const OffsetRække = 1 'Antallet af rækker over tabelområdet (inkl. overskrifter)
Const OffsetKolonne = 1 'Antallet af kolonner til venstre for tabelområdet (inkl. overskrifter)
Const MaksDeltagere = 9 'Det maksimale antal deltagere, der er plads til i tabellen
'Har intet med det aktuelle antal deltagere at gøre
Private Sub CommandButton1_Click()
Dim Deltager1, Deltager2, Tæller, AntalMulig As Integer
Dim MuligModstander(MaksDeltagere)
Dim MuligModstander2(MaksDeltagere - 2)
Const MaksTæller = 10000
For i = OffsetRække + 1 To OffsetRække + MaksDeltagere
For j = OffsetKolonne + 1 To OffsetKolonne + MaksDeltagere
If Worksheets("Kampskema").Cells(i, j) = "a" Or Worksheets("Kampskema").Cells(i, j) = "b" Then
Worksheets("Kampskema").Cells(i, j) = "X"
End If
Next j
Next i
AntalDeltagere = 0
For i = 1 To MaksDeltagere
If Not IsEmpty(Worksheets("Kampskema").Cells(OffsetRække + i, OffsetKolonne)) Then
AntalDeltagere = AntalDeltagere + 1
End If
Next i
Randomize
Tæller = 0
Do Until Tæller > MaksTæller Or AntalMulig > 0
Deltager1 = Int((AntalDeltagere * Rnd) + 1)
AntalMulig = 0
For i = 1 To AntalDeltagere
If IsEmpty(Worksheets("Kampskema").Cells(Deltager1 + OffsetRække, i + OffsetKolonne)) And Deltager1 <> i Then
AntalMulig = AntalMulig + 1
MuligModstander(AntalMulig) = i
End If
Next i
Tæller = Tæller + 1
Loop
If AntalMulig > 0 Then
Deltager2 = MuligModstander(Int((AntalMulig * Rnd) + 1))
Worksheets("Kampskema").Cells(Deltager1 + OffsetRække, Deltager2 + OffsetKolonne) = "a"
End If
Tæller = 0
For i = 1 To AntalDeltagere
If Deltager1 <> i And Deltager2 <> i Then
Tæller = Tæller + 1
MuligModstander2(Tæller) = i
End If
Next i
AntalMulig = 0
Tæller = 0
Do Until Tæller > MaksTæller Or AntalMulig > 0
Deltager3 = MuligModstander2(Int(((AntalDeltagere - 2) * Rnd) + 1))
AntalMulig = 0
For i = 1 To AntalDeltagere - 2
If IsEmpty(Worksheets("Kampskema").Cells(Deltager3 + OffsetRække, MuligModstander2(i) + OffsetKolonne)) And Deltager3 <> MuligModstander2(i) Then
AntalMulig = AntalMulig + 1
MuligModstander(AntalMulig) = MuligModstander2(i)
End If
Next i
Tæller = Tæller + 1
Loop
If AntalMulig > 0 Then
Deltager4 = MuligModstander(Int((AntalMulig * Rnd) + 1))
Worksheets("Kampskema").Cells(Deltager3 + OffsetRække, Deltager4 + OffsetKolonne) = "b"
End If
End Sub
Private Sub CommandButton2_Click()
Offset = OffsetRække + 2
For j = OffsetKolonne + 1 To OffsetKolonne + MaksDeltagere
For i = Offset To OffsetRække + MaksDeltagere
Worksheets("Kampskema").Cells(i, j).ClearContents
Next i
Offset = Offset + 1
Next j
End Sub
og den har jeg fået fra http://www.eksperten.dk/spm/584659
Nu vil jeg gerne rykke området eksempelvis 4 til højre og 4 ned
men jeg får så en fejlmelding.
jeg starter med 60p men er der brug for mere så sig til.
Hvis du heller vil have arket så læg en mailadr
