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

Waar haalt de cobobox de gegevens weg

Status
Niet open voor verdere reacties.
De gegevens komen hier vandaan:

Code:
Private Sub UserForm_Initialize()
  Dim sq As Variant, Bereik As Range
  Set Bereik = Sheets("data").UsedRange.Columns(1).Offset(1).SpecialCells(xlConstants)  '1e aaneengesloten blok van gegevens in kolom A van data zonder kopregel
  sq = Bereik
  ComboBox1.List = sq                                      'artikelnrs in cb1 zetten
  sq = Bereik.Offset(, 1)
  ComboBox2.List = sq                                      'omschrijvingen in cb2
  sq = Bereik.Offset(, 1)
  ComboBox3.List = sq                                      'nog een 3e code in cb3
End Sub
 
Hallo niels28

Dank voor je antwoord.
Dit had ik ook gevonden maar ik snap nog steeds niet hoe het werkt met bereiken.
Heb in mijn eigen sheet dit ook aangemaakt maar dan kan de combobox niets vinden.
 
Ik ga er even vanuit dat je over je bestandje van gisteren praat.
Heb combobox2 de rowsource weggehaald en de rode code toegevoegd

Code:
Private Sub UserForm_Initialize()
Dim SchermMaten     As New CScreenRes
    Dim iControls       As Integer
    

  Dim sq As Variant, Bereik As Range
[COLOR="red"]  Set Bereik = Sheets("data").UsedRange.Columns(6).Offset(1).SpecialCells(xlConstants)  '1e aaneengesloten blok van gegevens in kolom F van data zonder kopregel
  sq = Bereik
  ComboBox2.List = sq
                        [/COLOR]
    On Error Resume Next
    Me.Width = SchermMaten.SchermBreedte * 3 / 4
    Me.Height = SchermMaten.SchermHoogte * 3 / 4
     
    With Me
        For iControls = 0 To .Controls.Count - 1
            With .Controls(iControls)
                .Top = .Top * SchermMaten.SchermHoogte / 768
                .Height = .Height * SchermMaten.SchermHoogte / 768
                .Left = .Left * SchermMaten.SchermBreedte / 1024
                .Width = .Width * SchermMaten.SchermBreedte / 1024
                .Font.Size = Int(.Font.Size * SchermMaten.SchermHoogte / 800)
            End With
        Next
    End With
        TextBox38.Value = Range("Data!A2").Value
   End Sub

Niels
 
Niels

Het gaat inderdaad over het bestand van gisteren, heb deze aangepast (De foute waarde van 1" is er ook uit dankzij Cow18)

Heb het eigelijk in mijn bestand ook zo gedaan zo als jij vertelt.
Zou je eens willen kijken naar het bestand :o

Bekijk bijlage Omrek.xls

Het gaat om het bereik A2 tot J12.

Alvast mijn dank.
 
Heb het probleem al
Was in het
Code:
Private Sub UserForm_Initialize()
het combobox nummer vergeten :ote wijzigen het werkt nu wel

Ga nu verder met de volgende stap.
 
Zo moet het lukken. waar je de gegeven van bereik c:j wilt laten weet ik niet

Code:
Private Sub UserForm_Initialize()
Dim SchermMaten     As New CScreenRes
    Dim iControls       As Integer
    
    On Error Resume Next
    Me.Width = SchermMaten.SchermBreedte * 3 / 4
    Me.Height = SchermMaten.SchermHoogte * 3 / 4
     
    With Me
        For iControls = 0 To .Controls.Count - 1
            With .Controls(iControls)
                .Top = .Top * SchermMaten.SchermHoogte / 768
                .Height = .Height * SchermMaten.SchermHoogte / 768
                .Left = .Left * SchermMaten.SchermBreedte / 1024
                .Width = .Width * SchermMaten.SchermBreedte / 1024
                .Font.Size = Int(.Font.Size * SchermMaten.SchermHoogte / 800)
            End With
        Next
    End With
  TextBox38.Value = Range("Data!M2").Value
 
  Dim sq As Variant, Bereik As Range
  Set Bereik = Sheets("data").UsedRange.Columns(1).Offset(1).SpecialCells(xlConstants)  '1e aaneengesloten blok van gegevens in kolom A van data zonder kopregel
  sq = Bereik
  ComboBox3.List = sq 'artikelnrs in cb1 zetten
  Set Bereik1 = Sheets("data").UsedRange.Columns(2).Offset(1).SpecialCells(xlConstants)
  sq = Bereik1
  ComboBox4.List = sq                                      'omschrijvingen in cb2

  End Sub


De combobox change macro's staan verkeerd om moet worden (zie rode getallen):

Code:
Private Sub ComboBox3_Change()                             'kies je een ander artikelnr, dan moet de rest volgen
  If ComboBox3.ListIndex = -1 Then Exit Sub
  If ComboBox4.ListIndex <> ComboBox3ListIndex Then ComboBox[COLOR="red"]4[/COLOR].ListIndex = ComboBox[COLOR="red"]3[/COLOR].ListIndex

End Sub

Code:
Private Sub ComboBox4_Change()                             'kies je een andere omschrijving, dan moet de rest volgen
  If ComboBox4.ListIndex = -1 Then Exit Sub
  If ComboBox3.ListIndex <> ComboBox4ListIndex Then ComboBox[COLOR="red"]3[/COLOR].ListIndex = ComboBox[COLOR="red"]4[/COLOR].ListIndex

End Sub


PS je hangt 2 comboboxen aan elkaar die niet de zelfde lengte hebben, hier gaat het fout omdat er geen waarde voor combobox3 is bij M18 tm M27

Niels
 
Laatst bewerkt:
Kreeg nou wat.

Ik kan wel wel de lijst zien in de combobox maar kan geen keuze maken altans als ik een keuze maak dan blijft de keuze niet zichtbaar.

Wat kan hier het probleem zijn??
 
Niels

Zo moet het lukken. waar je de gegeven van bereik c:j wilt laten weet ik niet
Deze moet in een tekstbox komen (87)
 
Kreeg nou wat.

Ik kan wel wel de lijst zien in de combobox maar kan geen keuze maken altans als ik een keuze maak dan blijft de keuze niet zichtbaar.

Wat kan hier het probleem zijn??

Zie mijn post #7 combobox 3 en 4 verkeerd.

Deze moet in een tekstbox komen (87)

Dit begrijp ik niet.

Niels
 
Laatst bewerkt:
Niels
Ik heb de combobox nummers al gewijzigt maar het probleem blijft.

Ik zal even uitleggen wat ik eigelijk wil:
Combobox3 daar in moet ik een keuze maken welke soort "staal"
Combobox4 moet ik de keus maken welke bout maat
In tekstbox87 moet dan eigelijk het aanhaalmoment komen te staan.

Een voorbeeld
Staal 8.8 en M10 geeft een aanhaalmoment van 44,65Nm
 
Laatst bewerkt:
Ik heb de combobox nummers al gewijzigt maar het probleem blijft.

Dus je selectie blijft niet staan? Hebt je de juiste 3 en 4 omgedraait (rode)?
Kopieer anders mijn macro dan eens, bij mij bleven ze wel staan

Hoort bij die 8.8 wel altijd de M10? Anders heeft het geen nut om die 2 comboboxen aan elkaar te hangen.

Hoe weet je welke waarde bij 8.8 M10 hoort?

Niels
 
Op deze manier werkt het wel
 

Bijlagen

Niels

Heb de macro's gekopieerd en inderdaad het gaat nu wel goed:thumb:

8.8 hoort niet bij M10
Alle bout maten hebben ook alle "staal" soorten

Voorbeeld:
4.8 en M10 geeft 22,32Nm
6.8 en M10 geeft 33,49Nm
12.9 en M10 geeft 75,34Nm
 
@ Warme bakkertje

Als je als eerste kiest voor 5,6 - M6 krijg je foutcode 91


Niels
 
Voorbeeld:
4.8 en M10 geeft 22,32Nm
6.8 en M10 geeft 33,49Nm
12.9 en M10 geeft 75,34Nm

Ik zou niet weten hoe dit uit je voorbeeld te kunnen halen, in een eerdere post
was bv 8.8 M10 33.49 nu geef je aan dat dat bij 6.8 is

Maar als je het bestandje van Rudi aanpast moet het lukken.

Niels
 
't Zal wel aan mij liggen, maar mij ontgaat volledig de logica in jouw tabel. Als je een tabel opstelt zoals in mijn vb en dan de 3 regeltjes gebruikt bij Combobox4_Change moet je er mi uitkomen
 
#Niels
Ik had in de verkeerde kolom gekeken.:o

# Rudi
Dank voor je antwoord

Volgens mij gaat het met jou bestand lukken ga nu even uitzoeken hoe dit is opgebouwd.

Ik laat je het straks even weten.

Alvast bedankt
 
@ Warme bakkertje

Als je als eerste kiest voor 5,6 - M6 krijg je foutcode 91


Niels

Dit probleem komt omdat 5,6 met een komma is getypt en de rest met een punt.

Niels
 
Krijg ook steeds fout 91 ook na het wijzigen van komma naar punt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan