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

Status
Niet open voor verdere reacties.

mimil

Gebruiker
Lid geworden
25 aug 2014
Berichten
15
probleempje.
Heb een combobox aangemaakt met specifieke eigenschappen ( lijst lengte, character grootte enz.) anders dan de blijkbaar standaard eigenschappen.
Nu wil ik deze combobox door kopiëren naar onder toe met behoud van deze eigenschappen ?
Ik kom er niet toe !
Langs gegevensvalidatie kunnen de eigenschappen van de getoonde lijst blijkbaar niet aangepast worden.

Kan iemand mij helpen ?
Bijgevoegd mijn voorbeeld ( hopelijk zit het in mijn bericht !!)Bekijk bijlage Boekhouding 2015test.xls
groeten
mimil
 
Hallo mimil,
als je de ontwerpmodus aan klikt kun je ze copieren en plakken.
daarna klilk je de ontwerpmodus weer uit.

of bedoel je dat niet?
 
Zo Kopiëren werkt niet daar een eigenschap van de Combobox nl. de "linkedcell" , niet mee veranderd als naar volgende lijnen wordt gekopieerd .( bv C1 .. C2 ...enz naargelang het kopiëren vordert.) De overige eigenschappen moeten ook behouden blijven.
Standaard blijkt de invoerlijst slechts een vijftal lijnen met een zeer klein character te bevatten . en die lijst zou meerdere lijnen( 30) en een groter character moeten hebben.

mvg mimil
 
Sylvester.ponte

Nog even,
De Combobox beat de volgende functie:
=INSLUITEN("Forms.Combobox.1";"")
wat betekenen de parameters van deze functie ??

mvg mimil
 
Als ik goed begrepen heb bestaat bij validatie in een cel, NIET de mogelijkheid om de eigenschappen van de keuzelijst aan te passen. bv/ LISTROWS, FONT enz.
en dat zou ik graag wel willen.

mvg
mimil
 
hallo m in l
hoeveel soorten comboboxen komen er voor? 4?
als u per soort een kleur bepaald,
is het mogelijk om met vba de kleur_gekoppelde combobox mee te laten verhuizen
op het moment dat de gekleurde cel geselecteerd wordt,
komt de combo te voorschijn en zet de huidige waarde van cel in de combo.
als je dan de waarde van de combo wijzigt veranderd de waarde van de cel ook.

als dit idee met (4 ? ) kleuren je iets lijkt kan iemand op dit forum dit best voor je maken.
 
hier een eenvoudig voorgeeldje:

als je die kleurtjes naar ander cellen kopieert werkt het daar ook
en als je ze weer weg haalt dan niet meer
 

Bijlagen

  • Boekhouding 2015test met verplaatsbare combo 1.xls
    128 KB · Weergaven: 93
Of hier kan je ook eens mee aan de slag.
Code:
Sub test()
    Dim cell As Range, cboMain  As ComboBox
        Set cboMain = Sheets("Kas").ComboBox1
        Application.ScreenUpdating = False
        i = 2
        For Each cell In Sheets("Kas").Range("C11:C20")
            With Sheets("Kas").OLEObjects.Add(ClassType:="Forms.Combobox.1", _
                    Left:=cell.Left, _
                    Top:=cell.Top, _
                    Width:=cboMain.Width, _
                    Height:=cboMain.Height)
                    .Name = "Combobox" & i
                    .ListFillRange = cboMain.ListFillRange
                    .LinkedCell = cell.Address(0, 0)
                    With .Object
                        .ListRows = cboMain.ListRows
                        .Font.Name = cboMain.Font.Name
                        .Font.Size = cboMain.Font.Size
                    End With
            End With
            i = i + 1
        Next cell
        Application.ScreenUpdating = True
End Sub
 
Warme Bakkertje,

Uw oplossing ( code) zegt me wel wat.
Ik heb het geprobeerd, en het werkt.
Nu moet ik nog leren uw code te interpreteren, zo goed ben ik niet in VBA
Het vult de volgende 20 lijnen.
Mijn bestand is een boekhouding, na 20 lijnen moet ik weer verder kopiëren, ofwel neem ik ineens 1000 lijnen of wel systematisch als de eerste reeks vol is weer een reeks bij kopiëren.
Daarvoor zal de code moeten aangepast worden en vertrekken van de laatste volle lijn.

Ook zou de combobox moeten verbergen tov van de onderliggende cel.
We zien wel !!!
In alle geval een goede start.
Bedankt
mimil
 
Zet onderstaande in de bladmodule van werkblad Kas.
Telkens een nummer ingevuld wordt in kolom A zal er een CB aangemaakt worden in kolom C.
Verbergen zoals jij wil is onbegonnen werk, daarom de eigenschappen wat verder aangepast zodat het lijkt alsof er geen CB in kolom C staat.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cboMain  As ComboBox
        If Target.Count > 1 Then Exit Sub
        If Not Intersect(Target, Columns(1)) Is Nothing And Target <> vbNullString Then
        Set cboMain = Sheets("Kas").ComboBox1
        Application.ScreenUpdating = False
        With Sheets("Kas").OLEObjects.Add(ClassType:="Forms.Combobox.1", _
                Left:=Target.Offset(, 2).Left + 3, _
                Top:=Target.Offset(, 2).Top + 2, _
                Width:=cboMain.Width, _
                Height:=cboMain.Height)
                .Name = "Combobox" & Target.Row - 9
                .ListFillRange = cboMain.ListFillRange
                .LinkedCell = Target.Offset(, 2).Address(0, 0)
                With .Object
                    .ListRows = cboMain.ListRows
                    .Font.Name = cboMain.Font.Name
                    .Font.Size = cboMain.Font.Size
                    .ShowDropButtonWhen = cboMain.ShowDropButtonWhen
                    .SpecialEffect = cboMain.SpecialEffect
                End With
        End With
        Application.ScreenUpdating = True
        End If
End Sub
 
Warme Bakkertje,

Heb uw code geprobeerd en voldoet aan mijn wensen.
Bedankt,

Als je natuurlijk 2 x in de cel A gegevens ingevoegd , worden 2 x een CB ingevoegd.
Wet niet of dat te vermijden is ?
Anders moet de gebruiker maar wat opletten.

In alle geval, hip hip mijn probleem opgelost .
mimil
 
Sylvester-ponte,

bedankt voor uw voorstel,
Maar ik begrijp niet goed wat je met je voorbeeld bedoelt .Heb geprobeerd de code te analyseren.

Voor mij is het probleempje opgelost.

nogmaals bedankt voor uw inzet
mimil
 
mimil, het is heel eenvoudig:
als je ergens in dat blad een cel donker geel maakt dan werkt daar automatisch je combobox.
probeer maar uit.
 
Laatst bewerkt:
Vervang alles door onderstaande.
Nu worden geen dubbele CB's meer gemaakt.
Code:
Private oldvalue As Double

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cboMain  As ComboBox
        If Target.Count > 1 Then Exit Sub
        If oldvalue <> 0 Then Exit Sub
        If Not Intersect(Target, Columns(1)) Is Nothing And Target <> vbNullString Then
        Set cboMain = Sheets("Kas").ComboBox1
        Application.ScreenUpdating = False
        With Sheets("Kas").OLEObjects.Add(ClassType:="Forms.Combobox.1", _
                Left:=Target.Offset(, 2).Left + 3, _
                Top:=Target.Offset(, 2).Top + 2, _
                Width:=cboMain.Width, _
                Height:=cboMain.Height)
                .Name = "Combobox" & Target.Row - 9
                .ListFillRange = cboMain.ListFillRange
                .LinkedCell = Target.Offset(, 2).Address(0, 0)
                With .Object
                    .ListRows = cboMain.ListRows
                    .Font.Name = cboMain.Font.Name
                    .Font.Size = cboMain.Font.Size
                    .ShowDropButtonWhen = cboMain.ShowDropButtonWhen
                    .SpecialEffect = cboMain.SpecialEffect
                End With
        End With
        Application.ScreenUpdating = True
        End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column <> 1 Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    If Not Intersect(Target, Columns(1)) Is Nothing Then oldvalue = Target.Value
    Application.ScreenUpdating = True
End Sub
 
Warm Bakkertje,
Moet de code nog invoeren en testen.
Maar hoe doet jij het allemaal, uw warm oventje staat nooit stil zeker ??
dank op voorhand ,
Fijn WE
mimil
 
Hallo Rudi,
2 vraagen:

1) Waar om zet je de bestaande combobox1 niet op de cel in de C kolom?
Dan hoef je alleen maar de locatie en de gelinkte cel te veranderen .
En hij kan eenvoudig onzichtbaar gemaakt worden.

2)waar om krijg ik hier de opmerking:"Object vereist"
Code:
    Dim Co As ComboBox
    ActiveSheet.OLEObjects.Add(ClassType:="Forms.Combobox.1").Name = "testCombo"
    Set Co = testCombo
het lijkt dat de testCombo nog niet bestaat.
deze code staat in de code pagina van het active bald
 
Laatst bewerkt:
Warm Bakkertje,

Heb uw code ingevoerd en werkt prima.
bedankt
Misschien ooit tot een volgend probleempje.

met vriendelijke groeten
mimil
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan