Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Compileer fout in lijst listbox  (gelezen 13583 keer)

0 leden en 1 gast bekijken dit topic.

Offline Richard2000

  • Lid
  • *
  • Berichten: 24
  • Geslacht: Man
  • Oplossing.be
Re: Compileer fout in lijst listbox
« Reactie #15 Gepost op: 21 januari 2021, 11:57:53 »
Helemaal top weer, wederom bedankt Warme Bakkertje  \o/ :thumbsup: , heb nog geen fout kunnen vinden, het werkt perfect zo!

Ik heb de code bekeken en suf dat ik dat zelf niet zag om die range verwijzing gewoon na de werkblad verwijzing te plaatsen, weer wat geleerd.
Maar waar heb je de aanpassing gedaan voor het filteren op de eerste letter ipv het hele woord, ik kan het nergens terug vinden in de code?

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Compileer fout in lijst listbox
« Reactie #16 Gepost op: 21 januari 2021, 16:27:13 »
Er is helemaal geen code mee gemoeid.  ???

Bij de eigenschappen van de combobox scroll je naar de eigenschap MatchEntry

Zet deze op  2 - fmMatchEntryNone
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline Richard2000

  • Lid
  • *
  • Berichten: 24
  • Geslacht: Man
  • Oplossing.be
Re: Compileer fout in lijst listbox
« Reactie #17 Gepost op: 23 januari 2021, 13:09:11 »
Nou weet ik iig waarom ik het niet in de code te vinden was  :-[  ::), nou iig bedankt, zonder je hulp was ik nooit zover gekomen!

Ik ga weer verder bouwen!

Offline Richard2000

  • Lid
  • *
  • Berichten: 24
  • Geslacht: Man
  • Oplossing.be
Re: Compileer fout in lijst listbox
« Reactie #18 Gepost op: 12 februari 2021, 14:55:05 »
Kwartje begint een beetje te vallen met coderen maar toch weer een vraag, heb het leverancierform klaar maar wil graag de listbox op alfabetische volgorde zien en heb deze code gevonden,
  
    Dim i As Long
    Dim j As Long
    Dim c As Long 'columns in listbox
    Dim sTemp As String
    Dim LbList As Variant
   
    'Store the list in an array for sorting
    LbList = frmLeverancier.LsbLeverancier.List
   
    'Bubble sort the array on the first value
    For i = LBound(LbList, 1) To UBound(LbList, 1) - 1
        For j = i + 1 To UBound(LbList, 1)
            If LbList(i, Column) > LbList(j, Column) Then
                For c = 0 To frmLeverancier.LsbLeverancier.ColumnCount - 1
                    sTemp = LbList(i, c)
                    LbList(i, c) = LbList(j, c)
                    LbList(j, c) = sTemp
                Next c
            End If
        Next j
    Next i
   
    'Remove the contents of the listbox
    frmLeverancier.LsbLeverancier.Clear
   
    'Repopulate with the sorted list
    frmLeverancier.LsbLeverancier.List = LbList

Werkt goed maar in de eerste kolom van het tabel staan de klantnummers waarop deze code het alfab. zet,maar ik heb in de 2e kolom de klantnamen staan en zou graag willen dat het daarop de list alfab. zet.
Nou heb ik alwat zitten spelen met een verwijzing bij column maar krijg het niet werkend, is dat haalbaar met deze code of is het handiger om de namen kolom naar de eerste kolom te verplaatsen?

Heb ook het volledige bestand toegevoegd

Edit, er staan in het tabelveel "defecte" leveranciers die fouten geven bij kiezen, die mogen jullie gewoon negeren, die kunnen toch nooit normaal ingevoerd worden dus dat mag stuk blijven, de leveranciers die onderaan de lijst staan die bijna volledig zijn ingevuld doen het normaal.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.116
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Compileer fout in lijst listbox
« Reactie #19 Gepost op: 12 februari 2021, 15:09:12 »
Hallo

zonder testen:

Dim c As Long      'c = columns in listbox
.
.
.
For c = 0 To frmLeverancier.LsbLeverancier.ColumnCount - 1

als je hier de
For c = 0 to .... vervangt door
for c = 1 to ....

??

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Richard2000

  • Lid
  • *
  • Berichten: 24
  • Geslacht: Man
  • Oplossing.be
Re: Compileer fout in lijst listbox
« Reactie #20 Gepost op: 12 februari 2021, 17:36:33 »
Heb het geprobeerd maar helaas, het geeft geen error en er wordt iets gedaan maar geen sorteren  :) ..

Iig bedankt voor het meedenken!  :thumbsup:

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Compileer fout in lijst listbox
« Reactie #21 Gepost op: 13 februari 2021, 09:03:37 »
If LbList(i, 1) > LbList(j, 1) Then
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline Richard2000

  • Lid
  • *
  • Berichten: 24
  • Geslacht: Man
  • Oplossing.be
Re: Compileer fout in lijst listbox
« Reactie #22 Gepost op: 13 februari 2021, 10:51:24 »
Helemaal top Warme Bakkertje, deze werkt goed  \o/ :thumbsup: bedankt weer!

En dan raak je direct weer verwend,  :), denk dat ik een sorteerknopje ga maken op meerdere kolommen, gaat goed komen, bedankt!

Offline Richard2000

  • Lid
  • *
  • Berichten: 24
  • Geslacht: Man
  • Oplossing.be
Re: Compileer fout in lijst listbox
« Reactie #23 Gepost op: 16 februari 2021, 13:41:12 »
Ik ben weer iets verder, code gevonden om ook comboboxen te vullen op alfab. wat ook goed werkt maar krijg een application match niet goed aan de gang.
Voor het wijzigen van een rij in de database wordt deze gebruikt maar wil nu een 2e combobox invullen met data uit een cell van een rij met een match uit de 1e combobox uit een andere cell in diezelfde rij, dus dacht dan kan ik die wijziging code gebruiken en ipv van het wegschrijven vanuit een combobox naar de cell in de gematchte rij draai ik het om, dat omdraaien lijkt wel te werken, er wordt idd iets ingevuld in de 2e combobox maar het matched niet met de juiste rij, de code doet maar wat en haalt de match uit een verkeerde rij, wat doe ik fout?

Hier is de code
Private Sub cbbLeverancierFN_change()

Dim fRow As LongLong

With Blad2.ListObjects("tblleverancier").DataBodyRange
fRow = Application.Match(frmFactuurNieuw.cbbLeverancierFN, .Columns(1), 1)

frmFactuurNieuw.cbbLeverancierIDFN = .Cells(fRow, 1).Resize(, 1)
End With

End Sub

Veranderen van de waardes bij Columns maakt het ook niet beter, en wat mij ook niet duidelijk is waar nu wat voor staat, is het eerste getal nu de kolom of de tweede, en waar staat het 2e getal voor, ik dacht offset van rij?
Ik heb ook de worksheet.match gebruikt maar die doet hetzelfde, dus wat doe ik nu fout?

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Compileer fout in lijst listbox
« Reactie #24 Gepost op: 16 februari 2021, 16:53:37 »
Een wilde gok.

De 0 op het einde bij fRow vraagt voor een exacte match.

De 2 bij Cells haalt de info uit de 2de kolom van de gevonden rij.

Private Sub cbbLeverancierFN_change()

Dim fRow As LongLong

With Blad2.ListObjects("tblleverancier").DataBodyRange
fRow = Application.Match(frmFactuurNieuw.cbbLeverancierFN, .Columns(1), 0)

frmFactuurNieuw.cbbLeverancierIDFN = .Cells(fRow, 2)
End With

End Sub
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Offline Richard2000

  • Lid
  • *
  • Berichten: 24
  • Geslacht: Man
  • Oplossing.be
Re: Compileer fout in lijst listbox
« Reactie #25 Gepost op: 16 februari 2021, 20:22:50 »
Dat was het, die nul dus, ik heb zeker die combi uitgeprobeert maar moet er overheen gekeken hebben of had iets anders fout.., ik dacht dat het de rij was en op de eerste rij staan formules waar niet naar wordt weggeschreven dus liet ik die op 1 staan en na 2 dagen prutsen zag ik het echt niet meer.. :'(

Het lijkt dus een beetje op de vertikaal.zoeken formule.

IIg weer heel erg bedankt, ik kan weer verder! \o/ _/-\o_


Offline Richard2000

  • Lid
  • *
  • Berichten: 24
  • Geslacht: Man
  • Oplossing.be
Re: Compileer fout in lijst listbox
« Reactie #26 Gepost op: 19 februari 2021, 11:03:39 »
Ik ben aan het sleutelen aan de maaklijst zoek/filter functie en heb een vraag over de werking, hoe weet deze functie hoe lang de range is?
De range wordt eerst gecleard en dan voor het filteren gebruikt maar waar of hoe weet de functie hoe groot deze is?

Ik heb expres de laatste clear contents regel verwijderd om wat te spelen zodat de gefilterde data op het werkblad blijft staan, de range op AI2, en wil deze in een tabel doen, dat lukt opzich wel maar om de een of andere reden groeit het tabel niet mee met de gefilterde data en heb geen idee waarom, iemand een idee/tip?

En is het mogelijk om deze functie op meerdere termen te filteren, dus bv kolom 1 op naam en kolom 2 op bv stad, zodat je alleen zeg maar alleen de Jantjes uit Utrecht krijgt?

Hier een stukje code met 1 zoekterm textbox

Private Sub txtsoort1C_Change()
    If Me.txtSoort1C.Value = "" Then Exit Sub
    If exitsub Then Exit Sub
      maaklijst txtSoort1C, 18
End Sub

Sub maaklijst(obj As Object, col As Long)
      exitsub = True

    With Sheets("Componenten")
      .Range("R1").CurrentRegion.Offset(1).ClearContents
      .Range("AI1").CurrentRegion.Offset(1).ClearContents
   
      .Cells(2, col) = obj.Text & "*"
      .ListObjects("tblComponenten").Range.AdvancedFilter 2, Range("FilterCriteria3"), .Range("AI2")
     
  End With
    With Me.LsbComponenten
      .List = Sheets("Componenten").Range("AI2").CurrentRegion.Offset(1).Value
      exitsub = False
    If .ListCount - 1 = 1 Then .ListIndex = 0
  End With
 
 
  End Sub

 


www.combell.com