Finde nøjagtig match
HejJeg har en VBA der søger et bestemt område udfra et nummer. Nummeret er formateret: 000000. Jeg ville gerne om den KUN returnerede 100% match indenfor det ønskede område: 040001:042000 og ikke andre: ex:400 returnere første ledige celle og det er ikke meningen.
Hvem kan hjælpe? VBA'en er lidt snørklet og kunne sikkert skrives bedre: men hver fugl synger med sit næb ;0)
vh Steen
Sub RegistrerData()
Application.ScreenUpdating = False
Dim Nummer As String, twb As Workbook
Set twb = ThisWorkbook
Nummer = twb.Sheets("Data").Range("A3")
With Sheets("Data").Range("A5:A3000")
Set C = .Find(Nummer, LookIn:=xlValues)
If Not C Is Nothing Then
C1 = C.Offset(-4, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C3 = C.Offset(-4, 3).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C4 = C.Offset(-4, 4).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C5 = C.Offset(-4, 5).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C6 = C.Offset(-4, 6).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C7 = C.Offset(-4, 7).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C8 = C.Offset(-4, 8).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C10 = C.Offset(-4, 10).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C11 = C.Offset(-4, 11).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C12 = C.Offset(-4, 12).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C13 = C.Offset(-4, 13).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C14 = C.Offset(-4, 14).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C15 = C.Offset(-4, 15).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C16 = C.Offset(-4, 16).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C17 = C.Offset(-4, 17).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C18 = C.Offset(-4, 18).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C19 = C.Offset(-4, 19).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C20 = C.Offset(-4, 20).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C21 = C.Offset(-4, 21).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C22 = C.Offset(-4, 22).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C23 = C.Offset(-4, 23).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C24 = C.Offset(-4, 24).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C25 = C.Offset(-4, 25).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C26 = C.Offset(-4, 26).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C27 = C.Offset(-4, 27).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C28 = C.Offset(-4, 28).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C29 = C.Offset(-4, 29).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C30 = C.Offset(-4, 30).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C31 = C.Offset(-4, 31).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C32 = C.Offset(-4, 32).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C33 = C.Offset(-4, 33).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C34 = C.Offset(-4, 34).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C35 = C.Offset(-4, 35).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C36 = C.Offset(-4, 36).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C37 = C.Offset(-4, 37).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C38 = C.Offset(-4, 38).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C39 = C.Offset(-4, 39).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C40 = C.Offset(-4, 40).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C41 = C.Offset(-4, 41).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C42 = C.Offset(-4, 42).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C43 = C.Offset(-4, 43).Address(RowAbsolute:=False, ColumnAbsolute:=False)
C44 = C.Offset(-4, 44).Address(RowAbsolute:=False, ColumnAbsolute:=False)
.Range(C1).Value = twb.Sheets("Data").Range("B3")
.Range(C3).Value = twb.Sheets("Data").Range("D3")
.Range(C4).Value = twb.Sheets("Data").Range("E3")
.Range(C5).Value = twb.Sheets("Data").Range("F3")
.Range(C6).Value = twb.Sheets("Data").Range("G3")
.Range(C7).Value = twb.Sheets("Data").Range("H3")
.Range(C8).Value = twb.Sheets("Data").Range("I3")
.Range(C10).Value = twb.Sheets("Data").Range("K3")
.Range(C11).Value = twb.Sheets("Data").Range("L3")
.Range(C12).Value = twb.Sheets("Data").Range("M3")
.Range(C13).Value = twb.Sheets("Data").Range("N3")
.Range(C14).Value = twb.Sheets("Data").Range("O3")
.Range(C15).Value = twb.Sheets("Data").Range("P3")
.Range(C16).Value = twb.Sheets("Data").Range("Q3")
.Range(C17).Value = twb.Sheets("Data").Range("R3")
.Range(C18).Value = twb.Sheets("Data").Range("S3")
.Range(C19).Value = twb.Sheets("Data").Range("T3")
.Range(C20).Value = twb.Sheets("Data").Range("U3")
.Range(C21).Value = twb.Sheets("Data").Range("V3")
.Range(C22).Value = twb.Sheets("Data").Range("W3")
.Range(C23).Value = twb.Sheets("Data").Range("X3")
.Range(C24).Value = twb.Sheets("Data").Range("Y3")
.Range(C25).Value = twb.Sheets("Data").Range("Z3")
.Range(C26).Value = twb.Sheets("Data").Range("AA3")
.Range(C27).Value = twb.Sheets("Data").Range("AB3")
.Range(C28).Value = twb.Sheets("Data").Range("AC3")
.Range(C29).Value = twb.Sheets("Data").Range("AD3")
.Range(C30).Value = twb.Sheets("Data").Range("AE3")
.Range(C31).Value = twb.Sheets("Data").Range("AF3")
.Range(C32).Value = twb.Sheets("Data").Range("AG3")
.Range(C33).Value = twb.Sheets("Data").Range("AH3")
.Range(C34).Value = twb.Sheets("Data").Range("AI3")
.Range(C35).Value = twb.Sheets("Data").Range("AJ3")
.Range(C36).Value = twb.Sheets("Data").Range("AK3")
.Range(C37).Value = twb.Sheets("Data").Range("AL3")
.Range(C38).Value = twb.Sheets("Data").Range("AM3")
.Range(C39).Value = twb.Sheets("Data").Range("AN3")
.Range(C40).Value = twb.Sheets("Data").Range("AO3")
.Range(C41).Value = twb.Sheets("Data").Range("AP3")
.Range(C42).Value = twb.Sheets("Data").Range("AQ3")
.Range(C43).Value = twb.Sheets("Data").Range("AR3")
.Range(C44).Value = twb.Sheets("Data").Range("AS3")
Else:
MsgBox ("Nummeret blev ikke fundet")
Exit Sub
End If
End With
Sheets("Data").Range("A3:B3,D3:I3,K3:AS3").ClearContents
ActiveWorkbook.Save
MsgBox ("Registrering foretaget!")
End Sub
