18. juni 2012 - 18:07Der er
5 kommentarer og 1 løsning
vba - kontrol om det samme tal er brugt flere gange
Jeg har en masse tal vilkårlig mellem 1 og 100 som står i kolonne I.
I kolonne O står der nogle gange et tal mellem 1 og 20. Min udfordring består i at få kontrolleret at hvis der står noget i kolonne O så skal alle tal der står i kolonne I være ens.
Nedenfor har jeg indsat et eksempel for at illustrere udfordringen.
Dette eksempel er OK, da alle tal i kolonne I som har 1 eller 2 i kol O er ens: KOL I KOL O 12 13 1 13 14 2 13 1 14 2 14 2
Dette eksempel er IKKE OK, da alle tal i kolonne I som har 1 eller 2 i kol O IKKE er ens: (se nederste linje)
KOL I KOL O 12 13 1 13 14 2 13 1 14 2 11 2
Når koden finder en fejl skal den komme med en popup der siger: "Der er fejl i kolonne O vedr. nr xxxx"
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Sub TjekTal() Dim Tal(20) Do Until Len(ActiveCell.Text) = 0 If Len(ActiveCell.Offset(0, 1).Value) > 0 Then If Not Tal(ActiveCell.Offset(0, 1).Value) = ActiveCell.Value Then If Tal(ActiveCell.Offset(0, 1).Value) = "" Then Tal(ActiveCell.Offset(0, 1).Value) = ActiveCell.Value Else MsgBox ("Der er fejl i kolonne O vedr. nr " & ActiveCell.Offset(0, 1).Value) Exit Sub End If End If End If ActiveCell.Offset(1, 0).Select Loop End Sub
Jeg har sat koden ind i mit regneark og kørt koden. Den render fint kolonne O igennem, hvis jeg har markeret kolonnen, men den melder intet ud uanset om der er fejl eller ej.
Så det er ikke sikkert at jeg har beskrevet problemet korrekt. Kan evt sende en mail til dig, men et eksempel?
Sub TjekTal() Dim Tal(20) Do Until Len(ActiveCell.Text) = 0 If Len(ActiveCell.Offset(0, 6).Value) > 0 Then If Not Tal(ActiveCell.Offset(0, 6).Value) = ActiveCell.Value Then If Tal(ActiveCell.Offset(0, 6).Value) = "" Then Tal(ActiveCell.Offset(0, 6).Value) = ActiveCell.Value Else MsgBox ("Der er fejl i kolonne O vedr. nr " & ActiveCell.Offset(0, 6).Value) Exit Sub End If End If End If ActiveCell.Offset(1, 0).Select Loop End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.