VBA formulier excel

Status
Niet open voor verdere reacties.

Bunicich

Gebruiker
Lid geworden
10 apr 2016
Berichten
66
Beste allemaal, Ik heb een tijd geleden (ook via dit forum) een vraag gesteld over het maken van een formulier die gemakkelijk in te vullen is in excel. Ik ben toen enorm geholpen door een twee-tal excel experts. Een van de experts heeft een nieuw opzetje gemaakt voor mijn "oude" formulier, nu ben ik er al een tijdje mee bezig om deze af te maken maar het lukt me niet (niveau VBA te hoog voor mij).

Ik heb het formulier als bijlage bijgevoegd, het tabblad "Rapport" werkt prima, ook de uren en namen worden prima neergezet in tabblad "Kwartaal". alleen zou ik graag in tabblad "database oefening" zien wie welke oefening heeft gedaan en wanneer en als het mogelijk is ook de tekst (tekstvak links bovenin tabblad "Rapport"). Nu heb ik een aantal extra selectievakjes erbij gezet, dit ivm eventuele later toe te voegen oefeningen.

Ik hoop dat iemand mij kan helpen bij dit (voor mij) probleem.
 

Bijlagen

  • Oefen en Onderhoud nieuwe opzet.xls
    236,5 KB · Weergaven: 152
Je bent waarschijnlijk dol op checkboxen, maar heb je wel eens overwogen om userforms te gebruiken?
 
Beste SjonR, nou het is niet dat ik zo dol ben op checkboxen maar ik hou wel van extra. Er staan inderdaad misschien iets te veel. De checkboxen die al onder een activiteit staan heeft de maker bedacht. Het is voor een team die allemaal niet zoveel verstand van computers hebben maar die moeten wel allemaal dit in kunnen vullen.......Dus simpel, duidelijk, overzichtelijk en een goede registratie van wie wat en wanneer doet. Userforms heb ik nog nooit overwogen maar dat is ook nog een idee. Bedankt voor de tip ik zal er naar kijken.
 
Probeer maar eens.

Code:
Sub VenA()
Dim t As Long
ReDim ar(3, 0)
With Blad1
  For Each it In .Shapes
    If Left(it.Name, 9) = "Check Box" Then
      If it.ControlFormat.Value = 1 And it.TopLeftCell.Column > 8 Then
        ar(0, t) = .[C4]
        ar(1, t) = .Cells(it.TopLeftCell.Row, 7)
        ar(2, t) = .Cells(3, it.TopLeftCell.Column)
        ar(3, t) = .Shapes("Tekstvak 1").TextFrame2.TextRange.Text
        ReDim Preserve ar(3, UBound(ar, 2) + 1)
        t = t + 1
        it.ControlFormat.Value = 0
      End If
    End If
  Next it
End With
Blad5.Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(UBound(ar, 2) + 1, 4) = Application.Transpose(ar)
End Sub

Edit wel er even voor zorgen dat de vinkvakken binnen een cel staan.
 
Laatst bewerkt:
Er zijn versies met taalverschillen.
In mijn versie is het bv. 'selectievakje 339' en nergens "check Box".

Alternatief voor alle versies.
Code:
If it.Type = msoFormControl Then
    If it.FormControlType = xlCheckBox Then

Code:
ar(3, t) = .Shapes("Tekstvak 1").TextEffect.Text
 
Laatst bewerkt:
:eek: hallo Experts, ik heb de codes geïmporteerd maar weinig resultaat.......ik geloof niet dat ik nu iets geweldigs heb gedaan.
Ik heb het "aangepaste" formulier bijgevoegd :eek:
 

Bijlagen

  • test oefen nieuw.xls
    245,5 KB · Weergaven: 77
Zo beter?
Code:
Sub VenA()
Dim t As Long
ReDim ar(3, 0)
With Blad1
  For Each it In .Shapes
    If it.Type = msoFormControl Then
      If it.FormControlType = xlCheckBox Then
        If it.ControlFormat.Value = 1 And it.TopLeftCell.Column > 8 Then
          ar(0, t) = .[C4]
          ar(1, t) = .Cells(it.TopLeftCell.Row, 7)
          ar(2, t) = .Cells(3, it.TopLeftCell.Column)
          ar(3, t) = .Shapes("Tekstvak 1").TextEffect.Text
          ReDim Preserve ar(3, UBound(ar, 2) + 1)
          t = t + 1
          it.ControlFormat.Value = 0
        End If
      End If
    End If
  Next it
End With
Blad5.Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(UBound(ar, 2) + 1, 4) = Application.Transpose(ar)
End Sub
 
Beste VenA, sorry maar het werkt niet, er komt geen data in de database oefeningen. Ik heb de code ook op verschillende plaatsen gezet....zou dat ook iets moeten uitmaken ?
 
Hoe roep je de code aan dan? En heb je wel wat vakjes aangevinkt?
 
Jazeker, ik selecteer een aantal namen, daarna achter elke naam een aantal oefeningen aanvinken en dan de knop rapportgegevens vullen. De uren komen perfect bij kwartaal te staan alleen zie ik niets in de database.
 
Als ik op via de knop de macro open komt dit in beeld
 

Bijlagen

  • ScreenShot031.bmp
    1,4 MB · Weergaven: 74
Code:
Sub ikbegrijpernietsvan()
  Gijs
  VenA
End Sub

In een module en dan koppelen aan de knop.
 
top top top.....VenA Hartelijk bedankt voor je hulp.

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