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

Moet ik mijn blad aanpassen?

Status
Niet open voor verdere reacties.

Jack Nouws

Terugkerende gebruiker
Lid geworden
16 apr 2008
Berichten
1.396
Hallo

Ik wil mbv een simpele Userform en een simpele code (Bonnr) gegevens van mijn Blad (Fust)
overzetten naar een ander Blad (Bon) overzetten. Kan dat op deze manier of moet ik wijzingen in mijn Blad (Bon) maken?

Met vr gr
Jack

P.S. Ik ben vergeten om de gegevens van de ComboBox te wijzigen. Dit komt omdat dit een voorbeeldbestand is, in werkelijkheid werk ik tussen 2 bestanden ipv bladen
 

Bijlagen

Hallo

Ik wil mbv een simpele Userform en een simpele code (Bonnr) gegevens van mijn Blad (Fust)
overzetten naar een ander Blad (Bon) overzetten. Kan dat op deze manier of moet ik wijzingen in mijn Blad (Bon) maken?

Met vr gr
Jack

P.S. Ik ben vergeten om de gegevens van de ComboBox te wijzigen. Dit komt omdat dit een voorbeeldbestand is, in werkelijkheid werk ik tussen 2 bestanden ipv bladen

Of moet er meer met het UserForm gedaan worden?
 
Je kan inderdaad zo verder gaan. Simpel, maar het hoeft niet altijd het meest gesofisticeerde zijn. Eerst zien dat iets werkt, dan pas mooier maken :thumb:

Alleen zou ik A100 weglaten en dit dynamisch laten zoeken naar de laatst ingevulde rij. Dan heb je geen 98 lege rijen zoals nu ;)

Wigi
 
Je kan inderdaad zo verder gaan. Simpel, maar het hoeft niet altijd het meest gesofisticeerde zijn. Eerst zien dat iets werkt, dan pas mooier maken :thumb:

Alleen zou ik A100 weglaten en dit dynamisch laten zoeken naar de laatst ingevulde rij. Dan heb je geen 98 lege rijen zoals nu ;)

Wigi

Ik heb de formule aangepast maar ik krijg nog de lege cellen te zien. Ik vermoed dat mijn formule fout omschreven staat maar ik weet verder geen oplossing hiervoor te verzinnen.

Code:
Private Sub UserForm_Initialize()
    Set MyRange = Workbooks("Green Trees").Worksheets("Fust").Range("A4:A" & Range("A65536").End(xlDown).Row)

            With CboBonnr
                .RowSource = MyRange.Address(External:=True)
    End With
End Sub
 
Je gebruikt xlDown ipv xUp.

Dus:

Code:
Private Sub UserForm_Initialize()
    Set MyRange = Workbooks("Green Trees").Worksheets("Fust").Range("A4:A" & Workbooks("Green Trees").Worksheets("Fust").Range("A65536").End(xl[B][COLOR="Red"]Up[/COLOR][/B]).Row)

            With CboBonnr
                .RowSource = MyRange.Address(External:=True)
    End With
End Sub

Dit zal al wat schelen.:p
En als je het op 1 regel wilt:

Code:
Private Sub UserForm_Initialize()
CboBonnr.RowSource = Workbooks("Green Trees").Worksheets("Fust").Range("A4:A" & Workbooks("Green Trees").Worksheets("Fust").Range("A65536").End(xlUp).Row).Address(External:=True)

End Sub


Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Hiermee zet je alle gegevens die je nodig hebt in de combobox:

Code:
Private Sub UserForm_Initialize()
  sq = Sheets("Fust").Range("A4:A" & Rows.Count).SpecialCells(xlCellTypeConstants).Resize(, 25)
  CboBonnr.List = sq
End Sub
 
Hiermee zet je alle gegevens die je nodig hebt in de combobox:

Code:
Private Sub UserForm_Initialize()
  sq = Sheets("Fust").Range("A4:A" & Rows.Count).SpecialCells(xlCellTypeConstants).Resize(, 25)
  CboBonnr.List = sq
End Sub
OK bedankt hier allen voor :thumb:

Nu wil ik onder de knop OK een code hebben staan die de gegevens uit bestand Green Trees blad Fust naar bestand Fustbon blad Bon kopieert
De gegevens van blad Fust staan op een rij
en de gegevens die op blad bon terecht komen staan verspreid
Hoe kan ik dit het beste aanpakken?

Met vr gr
Jack
 
Door de gegevens niet vanuit het excelblad te kopiëren, maar gebruik te maken van de gegevens die in de keuzelijst (combobox) staan.

Bijvoorbeeld:

Je hebt het 2e item in de keuzelijst geselecteerd.
Alle gegevens die bij bonnr 2 horen staan in cboBonnr.list(cboBonnr.listindex,1) t/m cboBonnr.list(cboBonnr.listindex,25)

dan zet je bijvoorbeeld in blad2:

Code:
Sheets("Blad2").Range("F3")=cboBonnr.list(cboBonnnr.listindex,5)
 
Komt die code dan niet achter de OK knop te staan?
Want zoals ik dit lees komt de code in blad2 te staan zoals je zegt.
 
De code komt in het userform achter de OK knop te staan.
 
De code komt in het userform achter de OK knop te staan.

Ik begrijp je code helemaal, maar ik krijg hem niet werkend:(
Ik weet niet hoe ik hem moet laten aansturen om dit uit te kunnen voeren
 
Ik lever geen kant en klare code, maar een suggestie die je zelf moet aanpassen; bijv.

Sheets("Bon").Range("F3")=cboBonnr.list(cboBonnnr.listindex,5)
 
Ik lever geen kant en klare code, maar een suggestie die je zelf moet aanpassen; bijv.

Sheets("Bon").Range("F3")=cboBonnr.list(cboBonnnr.listindex,5)

Ik heb dit momenteel geselecteerd staan maar het moeilijkste is om dit te laten uitvoeren als je nog een tip hebt dan is die zeer welkom:thumb:

Code:
Private Sub CmdOK_Click()
Dim MyRange             As Variant
Dim c                   As Range
Dim i                   As Long

Workbooks("Fustbon").Sheets("Bon").Range("N14") = CboBonnr.List(cboBonnnr.ListIndex, 1)
Workbooks("Fustbon").Sheets("Bon").Range("N13") = CboBonnr.List(cboBonnnr.ListIndex, 2)
Workbooks("Fustbon").Sheets("Bon").Range("L19") = CboBonnr.List(cboBonnnr.ListIndex, 3)
Workbooks("Fustbon").Sheets("Bon").Range("O19") = CboBonnr.List(cboBonnnr.ListIndex, 4)
Workbooks("Fustbon").Sheets("Bon").Range("L20") = CboBonnr.List(cboBonnnr.ListIndex, 5)
Workbooks("Fustbon").Sheets("Bon").Range("O20") = CboBonnr.List(cboBonnnr.ListIndex, 6)
Workbooks("Fustbon").Sheets("Bon").Range("L21") = CboBonnr.List(cboBonnnr.ListIndex, 7)
Workbooks("Fustbon").Sheets("Bon").Range("O21") = CboBonnr.List(cboBonnnr.ListIndex, 8)
Workbooks("Fustbon").Sheets("Bon").Range("L22") = CboBonnr.List(cboBonnnr.ListIndex, 9)
Workbooks("Fustbon").Sheets("Bon").Range("O22") = CboBonnr.List(cboBonnnr.ListIndex, 10)
Workbooks("Fustbon").Sheets("Bon").Range("L23") = CboBonnr.List(cboBonnnr.ListIndex, 11)
Workbooks("Fustbon").Sheets("Bon").Range("O23") = CboBonnr.List(cboBonnnr.ListIndex, 12)
Workbooks("Fustbon").Sheets("Bon").Range("L24") = CboBonnr.List(cboBonnnr.ListIndex, 13)
Workbooks("Fustbon").Sheets("Bon").Range("O24") = CboBonnr.List(cboBonnnr.ListIndex, 14)
Workbooks("Fustbon").Sheets("Bon").Range("L25") = CboBonnr.List(cboBonnnr.ListIndex, 15)
Workbooks("Fustbon").Sheets("Bon").Range("O25") = CboBonnr.List(cboBonnnr.ListIndex, 16)
Workbooks("Fustbon").Sheets("Bon").Range("L26") = CboBonnr.List(cboBonnnr.ListIndex, 17)
Workbooks("Fustbon").Sheets("Bon").Range("O26") = CboBonnr.List(cboBonnnr.ListIndex, 18)
Workbooks("Fustbon").Sheets("Bon").Range("L27") = CboBonnr.List(cboBonnnr.ListIndex, 19)
Workbooks("Fustbon").Sheets("Bon").Range("O27") = CboBonnr.List(cboBonnnr.ListIndex, 20)
Workbooks("Fustbon").Sheets("Bon").Range("D13") = CboBonnr.List(cboBonnnr.ListIndex, 21)
Workbooks("Fustbon").Sheets("Bon").Range("D14") = CboBonnr.List(cboBonnnr.ListIndex, 22)
Workbooks("Fustbon").Sheets("Bon").Range("D15") = CboBonnr.List(cboBonnnr.ListIndex, 23)
Workbooks("Fustbon").Sheets("Bon").Range("G15") = CboBonnr.List(cboBonnnr.ListIndex, 24)
Workbooks("Fustbon").Sheets("Bon").Range("D16") = CboBonnr.List(cboBonnnr.ListIndex, 25)
Workbooks("Fustbon").Sheets("Bon").Range("E16") = CboBonnr.List(cboBonnnr.ListIndex, 26)

End Sub
 
Code:
Private Sub CmdOK_Click()
  If cboBonnnr.ListIndex>-1 then
    With Workbooks("Fustbon[COLOR="Red"].xls[/COLOR]").Sheets("Bon")
      for j=1 to 25
        .Range(choose(j[COLOR="Green"],"N14","N13","L19",..."E16[/COLOR]") = CboBonnr.List(cboBonnnr.ListIndex, j)
      Next
    End with
  End If
End Sub

Vul het groen gemarkeerde aan met alle respektievelijke cellen.
 
Code:
Private Sub CmdOK_Click()
  If cboBonnnr.ListIndex>-1 then
    With Workbooks("Fustbon[COLOR="Red"].xls[/COLOR]").Sheets("Bon")
      for j=1 to 25
        .Range(choose(j[COLOR="Green"],"N14","N13","L19",..."E16[/COLOR]") = CboBonnr.List(cboBonnnr.ListIndex, j)
      Next
    End with
  End If
End Sub

Vul het groen gemarkeerde aan met alle respektievelijke cellen.

Code:
 Private Sub CmdOK_Click()
   If CboBonnr.ListIndex > -1 Then
    With Workbooks("Fustbon.xls").Sheets("Bon")
      For j = 1 To 25
[COLOR="Red"]        .Range (Choose(j, "N14", "N13", "L19", "O19", "L20", "O20", "L21", "O21", "L22", "O22", "L23", "O23", "L24", "O24", "L25", "O25", "L26", "O26", "D13", "D14", "D15", "G15", "D16", "E16") = CboBonnr.List(CboBonnr.ListIndex, j))[/COLOR]
      Next
    End With
  End If

End Sub

Bij dit stukje krijg ik een foutmelding. Ik ben al bezig geweest om de haakjes te verplaatsen maar dat maakt niks uit. Ik krijg steeds de zelfde foutmelding. Wel heb ik cboBonnnr.List veranderd naar CboBonnr.List

Met vr gr Jack
 
Laatst bewerkt:
Best terug naar school gaan en tot 25 leren tellen... of beter gezegd, tot 24.

Als je code deftig laat inspringen, dan zie je dat je er geen 25 maar 24 hebt:

Code:
Private Sub CmdOK_Click()

    If CboBonnr.ListIndex > -1 Then
        With Workbooks("Fustbon.xls").Sheets("Bon")
        
            For j = 1 To 25
                .Range (Choose(j, "N14", "N13", "L19", "O19", "L20", _
                                           "O20", "L21", "O21", "L22", "O22", _
                                           "L23", "O23", "L24", "O24", "L25", _
                                           "O25", "L26", "O26", "D13", "D14", _
                                           "D15", "G15", "D16", "E16") = CboBonnr.List(CboBonnr.ListIndex, j))
            Next
            
        End With
    End If

End Sub

Wigi
 
Best terug naar school gaan en tot 25 leren tellen... of beter gezegd, tot 24.

Als je code deftig laat inspringen, dan zie je dat je er geen 25 maar 24 hebt:

Code:
Private Sub CmdOK_Click()

    If CboBonnr.ListIndex > -1 Then
        With Workbooks("Fustbon.xls").Sheets("Bon")
        
            For j = 1 To 25
                .Range (Choose(j, "N14", "N13", "L19", "O19", "L20", _
                                           "O20", "L21", "O21", "L22", "O22", _
                                           "L23", "O23", "L24", "O24", "L25", _
                                           "O25", "L26", "O26", "D13", "D14", _
                                           "D15", "G15", "D16", "E16") = CboBonnr.List(CboBonnr.ListIndex, j))
            Next
            
        End With
    End If

End Sub

Wigi

Naar school of niet naar school het werkt voor alsnog niet!:confused:
Die ListIndex staat toch automatisch achter het gekozen nummer van de CboBox?
 
Het laatste haakje staat op de verkeerde plaats, moet voor het = teken staan.

Tot 25 tellen:

voer dit eens uit:

Code:
Private Sub wim()

    For j = 1 To 25
        Range(Choose(j, "N14", "N13", "L19", "O19", "L20", _
                                   "O20", "L21", "O21", "L22", "O22", _
                                   "L23", "O23", "L24", "O24", "L25", _
                                   "O25", "L26", "O26", "D13", "D14", _
                                   "D15", "G15", "D16", "E16")) = j
    Next

End Sub

Duidelijker kan het echt niet.

Wigi
 
Het laatste haakje staat op de verkeerde plaats, moet voor het = teken staan.

Tot 25 tellen:

voer dit eens uit:

Code:
Private Sub wim()

    For j = 1 To 25
        Range(Choose(j, "N14", "N13", "L19", "O19", "L20", _
                                   "O20", "L21", "O21", "L22", "O22", _
                                   "L23", "O23", "L24", "O24", "L25", _
                                   "O25", "L26", "O26", "D13", "D14", _
                                   "D15", "G15", "D16", "E16")) = j
    Next

End Sub

Duidelijker kan het echt niet.

Wigi
OK bedankt dit werkt,:)
Alleen nu worden alleen de celnamen weergegeven op de juiste plaats ipv de tekst of getallen die ik eigenlijk nodig heb:confused:
 
:( Mijn laatste code was enkel een voorbeeld dat j van 1 tot 24 gaat en niet 25.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan