Just nu i M3-nätverket
Jump to content

Problem med listbox i excelark


omgiw

Recommended Posts

Hej,

 

I ett vanligt excelark skapar jag en ListBox med hjälp av

 

With Worksheets("visa")

Set lb1 = .Shapes.AddFormControl(xlListBox, 300, 100, 200, 100)

lb1.ControlFormat.ListFillRange = "grunddata!P1:P" & antalp

'End With

 

På fliken grunddata ändras antelet rader i kolumnen P och jag vill ju att antalet rader i Listboxen ska vara lika många som i kolumn P. Därför räknar jag raderna i kolumnen och kommer fram till "antalP".

 

Men hur kommer jag åt ListBoxen? Det är ju excel som sätter namnet dvs ListBox7 (om jag nu skapar flera boxar). Av olika anledningar vill jag inte använda UserForm utan köra det här direkt i ett ark med några makron.

 

Vore mycket tacksam för hjälp

 

//omgiw

 

Link to comment
Share on other sites

Du får väl en adressering av din ListBox med

Set lb1 = .Shapes.AddFormControl(xlListBox, 300, 100, 200, 100)

så att du kan refererar till den?

 

Då kan du även sätta ett namn på den:

lb1.Name ="MittNamn"

 

Alternativt kan du spara referensen i en variabel.

Det bästa alternativet är att inte använda en kod som uppdaterar den utan skapa en formel som fixar det åt dig:

=FÖRSKJUTNING(grunddata!P1;0;0;ANTALV(grunddata!P:P);1)

Skapa ett namn, menyn Infoga-> Namn -> Definiera, och sätt formeln/referensen till formeln ovan. Använd sedan det namnet som referens i din listbox.

 

När det går att undvika VBA-kod ska man undvika VBA-kod.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...