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

Problem med listbox i excelark


omgiw

Rekommendera Poster

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

 

Länk till kommentar
Dela på andra webbplatser

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.

 

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...