10. december 2012 - 08:04Der er
10 kommentarer og 1 løsning
Tjekke om nr i liste findes
Hej
Jeg har nedenstående VBA kode hvor jeg laver en kopi af et ark og omdøber det til variablen Nr. Jeg vil gerne have koden til at tjekke om der allerede er omrettet et ark med det nr og i så fald arket er omrettet skal der komme en msg boks hvor der står at arket er oprettet. Hvis det kan lade sig gøre, vil jeg så gerne have at man i msg boksen kan skrive et alternativt nr.
Jeg har lavet en dynamisk liste med alle arknumre som et navn med navnet ListeNr.
Private Sub CommandButton2_Click() OpretBukkeliste.Hide
Dim rCell As Range
Set rCell = FindNextTomme(Range("A19")) rCell.Value = Nr
Set rCell = FindNextTomme(Range("B19")) rCell.Value = BukkelistensNavn
Set rCell = FindNextTomme(Range("C19")) rCell.Value = Udarbejdet
Set rCell = FindNextTomme(Range("E19")) rCell.Value = Leverandør
Set rCell = FindNextTomme(Range("F19")) rCell.Value = LeverandørensOrdremodtager
Sheets("Indtastning").Copy After:=Worksheets(Worksheets.Count) Sheets("Indtastning (2)").Name = Nr
Nu er den tæt på at være der. Mangler bare at koden tjekker om det nye indtastede nr er med i listen så man ikke kommer til at vælge et nr der allerede er med i listen.
Private Sub CommandButton2_Click() OpretBukkeliste.Hide
Dim rCell As Range
Set rCell = FindNextTomme(Range("B19")) rCell.Value = BukkelistensNavn
Set rCell = FindNextTomme(Range("C19")) rCell.Value = Udarbejdet
Set rCell = FindNextTomme(Range("E19")) rCell.Value = Leverandør
Set rCell = FindNextTomme(Range("F19")) rCell.Value = LeverandørensOrdremodtager
For Each sh In Sheets If sh.Name = Nr Then Nr = InputBox(Nr & " er allerede valgt" & Chr(10) & "Indtast et andet nr.") Next
Set rCell = FindNextTomme(Range("A19")) rCell.Value = Nr
Sheets("Indtastning").Copy After:=Worksheets(Worksheets.Count) Sheets("Indtastning (2)").Name = Nr
Jeg ved ikke lige hvad du mener med en 1:1 relation. Hvis du mener at nr og arknavn er det samme så er der en 1:1 relation. Numrene på Nr og arknavn står i tilfældig rækkefølge og kommer fra en Userform
For i = 1 To 2 For Each sh In Sheets If sh.Name = Nr Then i = i - 1 If sh.Name = Nr Then Nr = InputBox(Nr & " er allerede valgt" & Chr(10) & "Indtast et andet nr.") Next i = i Next
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.