Jack Nouws
Terugkerende gebruiker
- Lid geworden
- 16 apr 2008
- Berichten
- 1.396
Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Privacywetgeving
Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.
Hallo
Ik heb in VBA een Form met Combobox gemaakt (Achter drukknop Verwijderen).
Wanneer deze wordt geactiveerd wordt m'n combobox maar gedeeltelijk geladen.
Zou iemand zo vrij willen zijn om die code een keer even na te lopen.
Met vr gr.
Jack
Waar je mee bezig bent staat hier al voor je klaar.
Gebruik additem niet om een combobox of listbox te vullen (veel te merkbaar traag). Doe dat met .Rowsource of met de .list
Bijv. combobox1.Rowsource="$A$1:$K$10"
of
sq=range("A1:K10")
combobox1.list=sq
Ik had het zelf ook al opgemerkt het werkt inmiddels naar behorenJe zet bovenaan vul_combobox3 de waarde van Rij op 17.
Vanaf die waarde ga je de combobox vullen. Je vult uitsluitend de regels vanaf 17 zodat de regels daarboven niet meegenomen worden.
Met vriendelijke groet,
Roncancio
Sub vul_combobox3()
Dim Rij As Integer
Rij = 17
verwijderklant.zoeknaam.Clear
While Worksheets("Leveranciers").Cells(Rij, "C") <> ""
If Worksheets("Leveranciers").Range(Rij & ":" & Rij).EntireRow.Hidden = False Then
With verwijderklant.zoeknaam
.AddItem Worksheets("Leveranciers").Cells(Rij, "D") '& "," & Space(1) & Worksheets("Leverancier").Cells(Rij, "J") & Space(1) & Worksheets("Leveranciers").Cells(Rij, "M")
End With
End If
Rij = Rij + 1
Wend
End Sub
Sub vul_combobox3()
verwijderklant.zoeknaam.RowSource = "Leveranciers!D4:D" & Sheets("leveranciers").Range("D65536").End(xlUp).Row
End Sub
Je kan onder andere dit ...
... vervangen door:Code:Sub vul_combobox3() Dim Rij As Integer Rij = 17 verwijderklant.zoeknaam.Clear While Worksheets("Leveranciers").Cells(Rij, "C") <> "" If Worksheets("Leveranciers").Range(Rij & ":" & Rij).EntireRow.Hidden = False Then With verwijderklant.zoeknaam .AddItem Worksheets("Leveranciers").Cells(Rij, "D") '& "," & Space(1) & Worksheets("Leverancier").Cells(Rij, "J") & Space(1) & Worksheets("Leveranciers").Cells(Rij, "M") End With End If Rij = Rij + 1 Wend End Sub
Code:Sub vul_combobox3() verwijderklant.zoeknaam.RowSource = "Leveranciers!D4:D" & Sheets("leveranciers").Range("D65536").End(xlUp).Row End Sub
Je hoeft geen Run te gebruiken om een macro te starten.
vul_combobox3 werkt bijvoorbeeld ook.
Met vriendelijke groet,
Roncancio
Hallo
Zou iemand zo vrij willen zijn om alle codes een keer even na te lopen.
Bestand staat in de vorige quote
Met vr gr.
Jack
Hallo
Zou iemand zo vrij willen zijn om alle codes van dit bestand een keer even na te lopen.
Bestand staat in de vorige quote,
Met vr gr.
Jack
Om alle codes door te nemen en aan te passen, gaat al gauw veel tijd zitten. En die tijd heb ik eerlijk gezegd niet.
Kan je iets specifieker zijn over je vraag?
Om alle codes door te nemen en aan te passen, gaat al gauw veel tijd zitten.
En die tijd heb ik eerlijk gezegd niet.
Als je gerichter aangeeft wat je wilt, kunnen mensen daar beter anticiperen en heb je dus meer kans op succes.
Met vriendelijke groet,
Roncancio
Bij de CmdVerwijderen worden wel de gegevens verwijderd maar niet de regel. Dit is het enige wat eventueel in mijn ogen nog beter zou kunnen, maar ik weet alleen niet hoe?
met vr gr
Jack
Dat komt omdat je gebruik maakt van ClearContents dat uitsluitend de inhoud verwijderd.
Als je Delete gebruikt, wordt de gehele regel verwijderd.
Met vriendelijke groet,
Roncancio
Private Sub zoeknaam_Change()
Dim MyRange As Variant
Dim c As Range
Dim i As Long
Set MyRange = Worksheets("Leveranciers")
'tegen flikkeren van beeldscherm
Application.ScreenUpdating = False
If zoeknaam = Empty Then
MsgBox "Kies een Leverancier en druk op de zoek knop!!!"
Exit Sub
Else
i = InStr(zoeknaam, ", ")
stZoekenRechts = Right(zoeknaam, Len(zoeknaam) - InStr(i + 2, zoeknaam, " "))
With MyRange.Range("D:D")
[COLOR="Red"] Set c = .Find(stZoekenRechts)[/COLOR]
If Not c Is Nothing Then
txtBedrijfsnaam.Text = MyRange.Range("C" & c.Row)
txtNaam.Text = MyRange.Range("D" & c.Row)
End If
End With
End If
'tegen flikkeren van beeldscherm
Application.ScreenUpdating = True
End Sub
Wat zit er in stZoekenRechts op dat moment?
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.