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

Combobox fout

Status
Niet open voor verdere reacties.

Dutchie

Gebruiker
Lid geworden
14 jan 2001
Berichten
241
Heren,
Nadat ik dacht dat de selectie lukte, bleek dat na aanpassing van de klanten lijst dat echter niet zo te zijn.
De Combobox heb ik wel zover gekregen dat hij de nummers selecteert maar laat de rest van de lijst niet zien en wil ook het e.e.a niet in vullen op de factuur.
Ik denk dat ik ergens een fout maak met de "ListFillRange" maar ben daar niet zeker van.
Wie weet raad?

Alvast bedankt
Frans

Bekijk bijlage Faktuur-template_1.xlsm
 
Verwijder wat achter Listfillrange staat in de eigenschappen van de combobox.
In Workbook_open staat echter dat je .List gaat gebruiken.
 
Code:
Private Sub Workbook_Open()
 Sheets(1).ComboBox1[COLOR=#ff0000].List [/COLOR]= Sheets("Klanten").Cells(1).CurrentRegion.Value
End Sub
 
Werkt hier uitstekend als je het bestand heropent of de code even laat lopen, maar met zulke reacties kan ik ook niet zoveel.
 
Als je hem heropend dan werkt het wel.
Als je echter nieuwe adres toevoegd(wijzigd), dan moet je eerst het bestand afsluiten en opnieuw laden voordat de juiste gegevens in de combobox worden weergegeven. kan dat niet handiger?
 
@gober, Natuurlijk kan dat handiger.
Maar waarom zou ik als ik geen of zo'n reactie krijg waar niet vermeld staat wat de bedoeling is.
 
Kijk eens naar
Code:
Private Sub Worksheet_Activate()

of
Code:
Private Sub ComboBox1_GotFocus()
of etc.
 
@HSV
Hartelijk bedankt voor de oplossing. Dit is idd wat ik wilde, ja conform mijn vraag.

@VenA Natuurlijk zou een suggestie in die richting altijd welkom zijn, dat ben ik zeker met je eens
Overigens heb ik jouw code ingevoerd maar hij werkt niet.
 
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets(1).ComboBox1.List = Sheets("Klanten").Cells(1).CurrentRegion.Value
End Sub

Dit is de code die ik geplaats heb bij tapblad "klanten"
na wijziging invoer van klanten wordt combobox wel gelijk geupdated
 
Stop het in de event van @VenA achter het blad waar de combobox staat.
Je combobox wordt dan bijgewerkt als je van tabblad wisselt (de gegevens staan toch immers op een ander tabblad), en niet steeds bij een selection_change.
De code zal onnodig vaak draaien zoals aangegeven door @gober.
Code:
Private Sub Worksheet_Activate()
 Sheets(1).ComboBox1.List = Sheets("Klanten").Cells(1).CurrentRegion.Value
end sub
 
Harry, dank je wel.

Het resulteert nu allemaal wel dat als ik een klantnummer rechts selecteer, deze pas actueel wordt als ik op het pijltje naar beneden druk in de combobox.
De bedoeling van mij is: zodra ik het klantnummer rechts heb geselecteerd, de desbetreffende klant gegevens links ook direkt op de factuur worden gezet. Zowel links als boven
onder het factuur nummer.

groet
Frans
 

Bijlagen

Laatst bewerkt:
Dat vroeg je ook al op 02 maart 2016 23:07 uur.
Mijn antwoord was op 3 maart 2016 00:26 uur.
Code:
Private Sub ComboBox1_Change()
With ComboBox1
  If .ListIndex > -1 Then
   Cells(6, 7) = .Value
   Cells(10, 1).Resize(4) = Application.Transpose(Array(.List(.ListIndex, 1), .List(.ListIndex, 2), .List(.ListIndex, 3), .List(.ListIndex, 4)))
 End If
End With
End Sub


Maar jij hebt dit schijnbaar veranderd in:
Code:
Private Sub ComboBox1_GotFocus()
 
Code:
Private Sub Worksheet_Activate()
 Sheets(1).ComboBox1.List = Sheets("Klanten").Cells(1).CurrentRegion.Value
end sub

Deze code heb ik nu ook gebruikt, en werkt prima.
Wel wil ik graag in het tabblad klanten Kolomkoppen plaatsen.
Hoe zorg ik er dan voor dat in de listbox de kolom koppen niet verschijnen, maar dat de listbox gevuld wordt vanaf rij 2?
Ik heb al diverse dingen geprobeerd, maar dat werkt niet.
 
Bv.
Code:
 Sheets(1).ComboBox1.List = Sheets("Klanten").Columns(1).SpecialCells(2).Offset(1).SpecialCells(2).Resize(, 5).Value
 
@harry
bedankt voor je bericht. Na het plaatsen van de code kreeg ik een foutmelding. In de eerste kolom had ik geen waarden meer, maar de kolom was opgebouwd uit een formule welke de waarden elke keer met 1 verhoogde.
Heb de rij verplaats. De eerste kolom begint nu met de naam en trad de foutmelding niet meer op.
Probleem opgelost.
 
ik heb tevens de procedure update aangepakt. Nu krijg je een waarschuwing als het bedragen en de naam niet is aangepast. Dat voorkomt het wegschrijven van dubbele waarden.
Met de procedure call pdf wordt automatisch de factuur als PDF file weggeschreven. Heb wel de naam van "blad1"gewijzigd in "omzet"
Code:
Private Sub CommandButton1_Click()
Dim TotaalEXBTW As Double, TotaalUren As Double, TotaalBTW As Double, Factnr As Double, Klantnr As Double
 Worksheets("Factuur").Select
 Factnr = Range("G4")
 Klantnr = Range("G6")
 TotaalEXBTW = Range("G32")
 TotaalUren = Range("B23")
 TotaalBTW = CCur(Range("G34"))
 TotaalOmzet = Range("G37")
 Worksheets("Omzet").Select
 Worksheets("Omzet").Range("A3").Select
 If Worksheets("Omzet").Range("A3").Offset(1, 0) <> "" Then
 Worksheets("Omzet").Range("A3").End(xlDown).Select
 End If
  If ActiveCell.Offset(0, 1).Value = Klantnr And ActiveCell.Offset(0, 2).Value = TotaalEXBTW Then
  MsgBox ("Deze waarden heb u al eens ingevuld")
  Worksheets("Factuur").Select
  Worksheets("Factuur").Range("A10").Select
  Exit Sub
  End If
  'MsgBox "The value is " & ActiveCell.Offset(0, 2).Value
 ActiveCell.Offset(1, 0).Select
 ActiveCell.Value = Factnr
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = Klantnr
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalEXBTW
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = CCur(TotaalBTW)
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalOmzet
 ActiveCell.Offset(0, 1).Select
 ActiveCell.Value = TotaalUren
 ActiveCell.Offset(0, 1).Select
 Worksheets("Factuur").Select
 Worksheets("Factuur").Range("A10").Select
 
 
Range("G4").Value = Range("G4").Value + 1

Range("G3").Value = Date
Call pdf
End Sub

hierbij de procedure pdf

Code:
Sub pdf()
 Application.ScreenUpdating = False
Range("A1:G40").Select
 
    
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:="D:\!excel\factuur\" & Range("G4").Value & Range("A10").Value & ".pdf"


'MsgBox "uw document is opgeslagen als PDF file ", vbInformation

Range("A10").Select
Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Je zit wel een beetje de vraag van @Dutchie te kapen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan