Code Aanpassen Werkt Niet

Status
Niet open voor verdere reacties.

marcel31281

Gebruiker
Lid geworden
30 okt 2015
Berichten
391
Ik ben bezig om via een Userform het onderhoudsrapport in te laten vullen, nu heb ik een paar vragen om hier verder mee te komen.

1. Is het mogelijk de data op het blad "overzicht" automatisch in te laten vullen in de userform als ik op de cel datum ga staan, en deze invulvelden ook te blokeren zodat ze niet meer aangepast kunnen worden.

2. Hoe implenteer ik de functie dat een vinkje of N/A zichtbaar op het onderhoudsrapport is via de Checkboxen, hetzelfde voor de ja en nee functie

3. Hoe zorg ik ervoor dat de vinkjes in de checkboxen alsmede de "yes" altijd geselecteerd zijn, en je deze dus alleen hoeft te veranderen als het antwoord nee is

4. Hoe kan ik de gegevens ophalen uit het tabblad "data", om de naam van de monteur, het invulveld of het bed goedkeurd is en de gegevens van de secutester over te nemen.

5. Als laatste zou ik nog als een naam van de monteur gekozen word deze ook vast blijft staan en automatisch zijn testgegevens en meetwaarden worden aangepast, dit omdat we met verschillende testers werken.(zie tabblad data)

Ik hoop dat ik het een beetje duidelijk heb uitgelegd, en iemand mij verder wil helpen

Alvast enorm bedankt,
 

Bijlagen

  • Multicare.xlsb
    282,5 KB · Weergaven: 62
Excuses ik dacht toch echt dat ik overal op gereageerd had en de vraag afgesloten :eek::eek::eek::eek::eek::eek::eek:
 
voor vraag 1 aanzetje

in sub selectionchange

Code:
If Not Intersect(Target, Columns(3)) Is Nothing Then
    With UserForm4
        .Show
        .C_01.Value = Target.Offset(, 4).Value
        .C_02.Value = Target.Offset(, 5).Value
        [COLOR="#008000"]'enz. enz[/COLOR].
    End With
End If

Voor die andere vragen moet ik zelf ook op zoek, hier heb ik dus niet direct een antwoord op.
Misschien dat iemand anders dat voor je kan doen.

Wat was er trouwens mis met de eerdere versie.?
 
Laatst bewerkt:
Hoi Marcel,
Ik heb nog eens even gekeken naar UserForm4.
Begin eens met het volgende:
Benoem textboxen achtereenvolgend hetzelfde, nu heb je bijvoorbeeld C_01, C_02, C_03 maar ook Textbox4, Textbox5 etc.
Maak er als voorbeeld van Tb01.Tb02,Tb03, Tb05 etc.

Voor de comboboxen idem.

Volgorde van CheckBoxen en Optionbuttons loopt allemaal door elkaar, geef ze een logische volgorde.
Om het eenvoudig te houden kun je de checkboxen bv. herbenoemen als ChB_01 en de optionbuttons als OpB_01 etc.

Waarschijnlijk is het 't beste om per frame opeenvolgend de nummeren. Dus ChB_01 en ChB_02 etc.
Zal me zelf toch eens gaan verdiepen in jouw vragen. Misschien zijn er ook nog wel anderen die mee willen helpen.
 
Kort antwoord op vraag 3:

in de Userform_Initialize zet je

Code:
CheckBox1.Value=True
enz.

En dan uiteraard na (iedere) actie

Code:
Call Userform_Initialize
 
Alle Checkboxen aangevinkt bij openen UserForm4, in de Userform_Initialize
Code:
For Each Ctrl In UserForm4.Controls
 If TypeName(Ctrl) = "CheckBox" Then
    Ctrl.Value = True
 End If
Next Ctrl

Een andere oplossing: in de eigenschappen van de Checkbox value op True zetten
 
Ben weer een stukje verder
Voor de optionbuttons wederom in userform_initialize.

Wel heb ik alle optionbuttons herbenoemd: optionbutton1 en optionbutton2 in frame2
optionbutton3 en optionbutton4 in frame3 enz.
Code:
 Dim i As Integer
For i = 1 To 51 Step 2
    Me("OptionButton" & i).Value = True
    
    If Me("OptionButton" & i).Value = True Then
        Me("OptionButton" & i).BackColor = vbGreen
    End If
Next i
 
en nog een kleine aanvulling op optionbutton 1 en 2 om het visueel iets duidelijker te maken.

Code:
Private Sub OptionButton1_Click()
If True Then
    OptionButton1.BackColor = vbGreen
    OptionButton2.BackColor = vbWhite
End If
End Sub

Private Sub OptionButton2_Click()
If True Then
    OptionButton2.BackColor = vbRed
    OptionButton1.BackColor = vbWhite
End If
End Sub

Voor de andere optionbuttons kun je deze code zelf invoeren, Behoorlijk wat tikwerk.
Zal waarschijnlijk ook wel kunnen met een KLASSEMODULE, maar daar heb ik geen kaas van gegeten.:D
 
Laatst bewerkt:
Bedankt voor jullie reacties en geweldige hulp, ik ga er mee aan de slag en hou jullie op de hoogte

In bijlage het bestand waar ik jullie codes in heb verwerkt, alleen krijg ik nu de userform niet meer geopend als ik de code in #8 gebruik
Daarnaast krijg ik de code in #4 niet werkend of ik ik doe iets fout:p

Daarnaast vroeg ik me af hoe ik ondertsaande code kan aanpassen om deze werkend te krijgen bij rapport opslaan.

Code:
rivate Sub Knop9_Klikken()
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Selecteer map"
        .ButtonName = .Title
        .Show
        If .SelectedItems.Count > 0 Then
            Sheets("OH RAPPORT").ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=.SelectedItems(1) & "\" & Range("F7") & Range("K7") & Range("F8") & ".pdf", _
            OpenAfterPublish:=False 'Zet deze op False om de PDF niet te openen
            Worksheets(2).Select
        End If
    End With
    End Sub
 

Bijlagen

  • Multicare.xlsb
    287 KB · Weergaven: 47
Laatst bewerkt:
alleen krijg ik nu de userform niet meer geopend
Heb je alle optionbuttons opnieuw benoemd? Zoals geschreven in #

Even gekeken, heb je inderdaad niet gedaan.:mad:
 
Laatst bewerkt:
Hier ben ik nog druk mee bezig, wilde aleen even kijken of ik alles werkend kon krijgen voor ik verder zou gaan knutselen.

Ondertussen alle benamingen van de checkboxes en optionbuttons aangepast, maar krijg nog steeds de foutmelding helaas.

Daarnaast lijkt er in het 3e frame iets niet goed te gaan, hij neemt de kleuren niet aan en ook de waarden niet over op het rapport. De fout lijkt te zitten in de 2 optionbuttons maar ik kan niet vinden wat er verkeerd gaat
 

Bijlagen

  • Multicare.xlsb
    285,8 KB · Weergaven: 44
Laatst bewerkt:
Optionbutton1 is iets anders als OB_01
Optionbutton2 is iets anders als OB_02 etc.
Je krijgt nu een foutmelding "kan het opgegeven object niet vinden" ER IS NML. GEEN OPTIONBUTTON1 etc.
Dacht dt ik het in #8 duidelijk had aangegeven.

Kijk ook nog eens goed naar de code in UserForm_ initialize .
met name "checkBox"

p.s. Dit werkt natuurlijk ook door in je andere aangevulde codes.
 
Laatst bewerkt:
Code:
 Dim i As Integer
For i = 1 To 51 Step 2                                           [COLOR="#FF0000"]'optionbutton1 +2 is optionbutton3 +2 is optionbutton5 etc.[/COLOR]
    Me("OptionButton" & i).Value = True                     [COLOR="#FF0000"]'hier worden alle oneven optionbuttons op true gezet[/COLOR]
    
    If Me("OptionButton" & i).Value = True Then
        Me("OptionButton" & i).BackColor = vbGreen
    End If
Next i
 
HIer het bestand dat waar ik zover mee was.

Kijk goed en neem het precies over. Daar hapert het nogal aan.
Belangrijkste is de code begrijpen.

Kijk ook eens naar de benamingen van de optionbuttons en checkboxen.

Succes.
 

Bijlagen

  • Kopie van Multicare-1.xlsb
    284,6 KB · Weergaven: 45
Bedankt, dit maakt een hoop duidelijk :)

Ik ga hier een heel eind mee komen, heb alleen nog een nieuwe vraag.

1. Hoe zorg ik er voor dat de naam van de monteur blijft staan en niet verdwijnt bij afsluiten userform

2. Hoe implenteer ik de code in de userform die ik al had om het rapport op te slaan

Bedankt alvast weer,
 
Laatst bewerkt:
Maak eerst jouw bestand "Up tot Date" en plaats het dan hier.
1. Hoe zorg ik er voor dat de naam van de monteur blijft staan en niet verdwijnt bij afsluiten userform
Leg eens duidelijk uit waarom je dit zou willen.
 
Laatst bewerkt:
Beste Albert,

Ben zelf ondertussen ook weer wat verder gekomen en vraag 5 ook zo goed als opgelost.

De reden dat de naam van de monteur moet blijven staan is dat je dan niet steeds weer opnieuw moet invullen dezelfde dag, hieraan hangen namelijk ook de gegevens van de secutester en de meetwaarden die in deze meeveranderen.

Ik ga nu het bestand helemaal bewerken en zorgen dat alles goed staat, en dan ga ik verder kijken wat nog niet werkt.

P.s. zou je nog even mee willen kijken naar de code voor printen. Graag zou ik de code in #10 gebruiken die het rapport opslaat

Alvast bdankt voor je geweldige hulp :thumb::thumb:
 
Ik wacht eerst op het bestand en dan kijken we verder.:d
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan