Jeg tror, at jeg skal sidde med materialet i hånden for at kunne komme med et kvalificeret løsning, og da jeg ikke tror du vil sende en masse følsom data til Mr. X "from the Internet", er det okay vi stopper her.
Det er altså hvis du fik en løsning der kunne bruges.
Da jeg ikke vil være skyld i at du mister din nattesøvn, tror jeg bare vi skal lade det ligge
Men mange tak for den hjælp I begge har givet mig.
Det er et stort skridt i den rigtige retning, så med lidt tålmodighed skal jeg nok finde den endelige løsning.
Prøv at vende tilbage til mit første forslag, indtast i B1 og træk nedad:
=SAMMENLIGN(A1;$E$1:$E$100;0)
men først vil jeg lave sammenligningskolonne E:
1. Marker alle dine tal i kolonne A
2. Menu: Data>Filter>Standardfilter
3. Kolonne A = -ikke tom-
4. Flere
5. x Kopier resultater til E1
x Kun unikke poster
Så fandt jeg en løsning.
Og som lovet er den her.
Det er nok ikke den mest optimale, men den virker.
Jeg skrev en makro i Basic (da jeg kender VB i forvejen).
Den ser ud som følger:
REM ***** BASIC *****
Sub Main
Dim Doc As Object
Dim Sheet As Object
Dim SourceCell As Object
Dim DestCell As Object
Dim CompareCell As Object
Dim StartRow As Integer
Dim EndRow as Integer
Dim SourceColumn as Integer
Dim DestinationColumn as Integer
Dim Counter as Integer
Doc = ThisComponent
Counter = 1
'-- DER MÅ IKKE REDIGERES OVENFOR DENNE LINIE ------------------------------------------
Sheet = Doc.Sheets(0) 'Vælger hvilken fane der skal behandles (0=fane 1, 1=fane 2 o.s.v.)
SourceColumn = 1 'Vælger kolonnen med kildedata (EAN numre). 0=kolonne A, 1=kolonne B o.s.v.
DestinationColumn = 2 'Vælger destinationskolonnen (til fortløbende numre). 0=kolonne A, 1=kolonne B o.s.v.
StartRow = 0 'Vælger den første række der skal behandles. 0=række 1, 1=række 2 o.s.v.
EndRow = 1500 'Vælger den sidste række der skal behandles. 0=række 1, 1=række 2 o.s.v.
'-- DER MÅ IKKE REDIGERES NEDENFOR DENNE LINIE ------------------------------------------
For i1 = StartRow to EndRow
SourceCell = Sheet.getCellByPosition(SourceColumn, i1)
DestCell = Sheet.getCellByPosition(DestinationColumn, i1)
If SourceCell.Value < 1 Then
Goto GetNextValue
EndIf
For i2 = StartRow to EndRow
CompareCell = Sheet.getCellByPosition(SourceColumn, i2)
DestCell = Sheet.getCellByPosition(DestinationColumn, i2)
If CompareCell.Value = SourceCell.Value And DestCell.Value < 1 Counter Then
Counter = DestCell.Value + 1
EndIf
Next
GetNextValue:
Next
End Sub