Just nu i M3-nätverket
Gå till innehåll

Skriva en enkel lookup add-in


Kalinka

Rekommendera Poster

Hej alla!

 

Jag tänkte skriva en Add-In till Excel i VBA som helt enkelt är en funktion som kollar upp en siffra mot en lista med kategorier och beskrivningar.

 

Exempel:

Jag har lite data...

 

001 | Frukt | Äpple

002 | Frukt | Apelsin

003 | Grönsak | Gurka

004 | Grönsak | Isbergssallad

 

Funktionen är tänkt att se ut som följer i Excel:

 

=MyFunction(001;1) -> Frukt

=MyFunction(001;2) -> Äpple

=MyFunction(004) -> Isbergssallad

=MyFunction(004;2) -> Isbergssallad

=MyFunction(004;1) -> Grönsak

 

Är ni med på vad jag vill komma åt?

 

Listan med nummer och beskrivning kommer vara ett par hundra rader lång och kanske uppdateras en gång om året med något tillägg eller bortfall..

 

Hur ska man gå tillväga för att göra en sådan här add-in? Ska jag bara ladda in värdena i 100-tals arrays eller finns det någon bra metod!?

 

Tack * 1000!!!

Länk till kommentar
Dela på andra webbplatser

I sig är det där bara en vanlig söksats....

dvs något som LETARAD eller paret PASSA-INDEX kan lösa.

 

men du vill ha det i en Add-in som en egen funktion (VBA)?

 

jag skulle då lägga in alla data på ett arbetsblad i det tänkta tillägget. Sätta fina rubriker på det för användarens skull och sedan skapa en några radera VBA kod:

 

Public Function MyFunction(ToSeek As Variant, ParamArray Kolumn()) As Variant
Dim i As Integer
i = -1
On Error Resume Next
i = WorksheetFunction.Match(ToSeek, Blad1.Range("a:a"), 0)
If i = -1 Then
	MyFunction = CVErr(xlErrNA)
	Exit Function
End If
If UBound(Kolumn) = -1 Then
	MyFunction = Blad1.Cells(i, 3)
Else
	MyFunction = Blad1.Cells(i, Kolumn(0) + 1)
End If

End Function

och sedan spara det hela som en Addin. Spara gärna som en vanlig arbetsbok med för att ha som bas för framtida redigeringar av tillägget. Om du vill redigera data på ett blad i ett tillägg måste du annars i VBA-editorn ställa om egenskaperna för tillägget till att det icke är att tillägg, annars kan man inte nå bladen i boken.

 

Flyttar tråden till VBA

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...