Opret et modul og indsæt denne kode som du så kan kalde fra din form for at indsætte tabstops i dein listbox: ---------------Modul------------------------ Private Declare Function SendMessage Lib _ \"user32\" Alias \"SendMessageA\" (ByVal hWnd As _ Long, ByVal wMsg As Long, ByVal wParam As _ Long, lParam As Any) As Long Private Const LB_SETTABSTOPS = &H192
Public Sub SetListTabStops(ListHandle As Long, _ ParamArray ParmList() As Variant) Dim i As Long Dim ListTabs() As Long Dim NumColumns As Long
ReDim ListTabs(UBound(ParmList)) For i = 0 To UBound(ParmList) ListTabs(i) = ParmList(i) Next i NumColumns = UBound(ParmList) + 1
Call SendMessage(ListHandle, LB_SETTABSTOPS, _ NumColumns, ListTabs(0)) End Sub
-------------------modul slut--------------------
Eksempel på kald af modulet fra en form med en command1 bottón og en listbox kaldet myListBox:
Private Sub Command1_Click() \'Call the routine in Form_Load to set the tab stops \'where MyListBox is the listbox and the tab stop will \'be around the 12th character. Generally speaking, \'TabStop divided by four equals roughly the number of \'characters per column:
\'Call SetListTabStops(lstMyListBox.hWnd, 48)
\'If more columns are needed, simply add them to the \'function call: Call SetListTabStops(lstMyListBox.hWnd, 50, 100, 150, 200) \'Add items to the listbox using vbTab to separate \'columns:
Jeg ved at du skal sætte egenskaben \"Columncount\" til det antal kolonner ListBoxen skal indeholde. Og så skal du sætte \"ColumnHeads\" til True.
Hvis du har 3 kolonner kan du tildele værdier til én række som følger:
ListBox1.List(0,0) = \"Tekst i kolonne 1, række 1\" ListBox1.List(0,1) = \"Tekst i kolonne 2, række 1\" ListBox1.List(0,2) = \"Tekst i kolonne 3, række 1\"
Skal du indsætte flere rækker, er det naturligvis lettes vha. en loop.
Her indsættes 6 rækker:
For i = 0 to 5 ListBox1.List(i,0) = \"Tekst i kolonne 1, række \" & i ListBox1.List(i,1) = \"Tekst i kolonne 2, række \" & i ListBox1.List(i,2) = \"Tekst i kolonne 3, række \" & i Next i
Jeg er imidlertid selv i tvivl om hvordan man får overskrifterne ind.... så jeg følger lige med her og ser om der dukker nogle guldkorn op :-)
Måske skulle jeg nævne at jeg bruger den i VBA på en formular i forb. med Excel... men der er vel ikke forskel på controlelementerne hvad endten man laver VB eller VBA?
>jette1 Jeg har vist ikke de egenskaber til min list, som du nævner, altså columnhead og columncount, og jeg får en \"Wrong number of arguments or in.. property assignment\", når jeg forsøger med den første del af din kode? >ea Dit virker perfekt, og du er sikret 30 point. Tak! Jeg vil ikke lukke spørgsmålet endnu, hvis der skulle dukke noget op i stil med jette1\'s, der ser besnærende enkelt ud. I givet fald forhøjer jeg blot pointtallet.
--> maagefinke, desværre er det vidst ikke muligt at udføre en listbox i VB på den måde jeg beskrev. Som ea_data og jeg måtte konstatere, er der tilsyneladende forskel på om man benytter VB eller VBA.
>jette1 ListBox1.List(0,0)Det er \".list(0,0)\" som VB gør vrøvl over. Jeg rettede listbox1 til list1, der er vist ikke noget med \"listbox\" i VB?!, men det skulle vel ikke betyde noget?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.