Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 16 van 16

Onderwerp: Macroknop moet 2 bladen kopieren en naam wijzigen

  1. #1
    Junior Member
    Geregistreerd
    4 januari 2008
    Vraag is niet opgelost

    Macroknop moet 2 bladen kopieren en naam wijzigen

    Ik zit met het volgende probleem:

    Sinds een paar weken ben ik mij aan het verdiepen in VBA en met behulp van internet kom ik al een eind in de goede richting, maar ik mis diepere kennis over de verschillende mogelijkheden.

    in bijgevoegd voorbeeld heb ik een opname formulier en een uitwerkblad.
    De knop "unit toevoegen" vraagt om de naam van een nieuwe unit en kopieert vervolgens het blad Opname Formulier en wijzigt de naam van het blad, door de naam van de unit er aan toe te voegen. Tot zover gaat het goed.....
    Het is mijn bedoeling dat de naam van het Opname Formulier aangevuld wordt met de naam in cel C4 en dat het blad Uitwerking de naam van cel C4 krijgt (dus Opname Formulier A1000 met daarnaast het blad A1000
    Echter wil ik ook dat het blad Uitwerking gekopieerd wordt en de naam gewijzigd wordt in alleen de unitnaam. Als ik die handmatig kopieer dan wordt in de code de naam van het nieuwe uitwerkblad niet aangepast (blijft dus Worksheet "uitwerking" ipv Worksheet "A1000"

    Ook de invulvelden moeten dan leeg gemaakt worden.
    In mijn voorbeeld gebeurt dat alleen op het oorspronkelijke blad en niet op het gekopieerde blad.


    Waar ga ik fout?

    Groet,
    Rob
    Bijgevoegde bestanden Bijgevoegde bestanden

  2. #2
    Giga Senior Haije's avatar
    Geregistreerd
    24 maart 2009
    Locatie
    Oldenzaal
    Afstand tot server
    ±97 km
    rovano,

    doet dit wat je wilt:
    Code:
    Private Sub CommandButton1_Click()
    Unit = InputBox("Geef volgende unit, bijvoorbeeld A1000", "Unit toevoegen")
    Sheets("Opname Formulier").Copy After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = "Opname Formulier " & Unit
    ActiveSheet.Range("C4") = Unit
    Range("C8:C9,D14:D94").ClearContents
    Sheets("Uitwerking").Copy After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = Unit
    End Sub
    Haije
    ___________________________________________________

  3. #3
    Junior Member
    Geregistreerd
    4 januari 2008
    Hallo Haije,

    Bedankt voor de reactie, het uitwerkblad wordt nu ook mee gekopieerd! Maar de invulvelden worden nu nog steeds overgenomen naar het nieuwe blad en alleen op het oorspronkelijke blad worden die invulvelden gewist.

    Verder zoek ik nog een oplossing voor de andere issues in mijn vraag.

    Ik merk nu dat ik nog een foutje in blad uitwerking heb staan: de unitnaam moet ook overgenomen worden uit het Opname Formulier, net zoals dat nu ook in de overige cellen (C5 t/m C11) het geval is.

    Groet,
    Rob

  4. #4
    Senior Member
    Geregistreerd
    23 mei 2013
    gemakkelijker voor de helpers ( en ook voor u ) is het als alle kleurtjes in de bladen weg zijn en enkel de cellen die ingevuld overgenomen moeten worden in een kleur te zetten, later kan je dan terug de cellen kleuren zoals je wil

  5. #5
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Hoeveel van deze units ben je van plan om toe te gaan voegen? Het wordt namelijk 1 grote puinhoop. (je gaat ook het Change Event mee kopiëren)
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  6. #6
    Junior Member
    Geregistreerd
    4 januari 2008
    Meestal zijn het niet meer dan 10 units, maar ik ben ook wel eens een klant tegen gekomen met 80 units.
    Tot nu toe heb ik alles met de hand gekopieerd, maar ik ben nu een oplossing aan het bedenken om het middels VBA te doen.

    Groet,
    Rob

  7. #7
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Jij denkt vanuit de opmaak. Bedenk eens of jij de gegevens is een tabelvorm kan invoeren. Misschien dat iemand het een leuke uitdaging vindt om 80*2 kopien te maken en alle verwijzingen en andere ellende goed te zetten. Maar ik zie het nut niet.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  8. #8
    Senior Member
    Geregistreerd
    23 mei 2013
    Al eens gedacht hoe je alle formules gaat laten werken in de nieuwe bladen? En het verbergen van rijen?

  9. #9
    Junior Member
    Geregistreerd
    4 januari 2008
    De 2 bladen zijn aan elkaar gekoppeld en staan los van de te kopieren bladen. Dus als ik in het opnameformulier iets invul, komt dat daarna alleen in het blad uitwerking (welke naam gewijzigd wordt in de invoer van cel C4), het moet dus niet doorgevoerd worden naar de andere bladen.
    Ik zoek dus een manier om de naam van het blad uitwerking variabel te maken in de VBA-code.
    Nu staat in de VBA-code van het Opname Formulier, nog de naam Worksheet "uitwerking". Dit moet dus gewijzigd worden naar Worksheet "cel c4"

  10. #10
    Senior Member
    Geregistreerd
    23 mei 2013
    Dan zal om te beginnen alle samengevoegde cellen moeten verwijderen.

  11. #11
    Giga Senior Haije's avatar
    Geregistreerd
    24 maart 2009
    Locatie
    Oldenzaal
    Afstand tot server
    ±97 km
    brengt dit je verder?

    Code:
    bladnaam=Range("C4").value
    Sheets(bladnaam).select
    Haije
    ___________________________________________________

  12. #12
    Junior Member
    Geregistreerd
    4 januari 2008
    YES.
    dat zocht ik inderdaad. Bedankt Haije!!

    Alleen de invulvelden die ik grijs gemaakt heb worden nog niet gewist, dit gebeurt nog op het oude blad.
    Ik heb in het voorbeeld bestand de samengevoegde cellen los gekoppeld en de code aangepast.
    Ik heb nu 3x een unit toegevoegd en je ziet dat als ik het type verander, dit alleen mee verandert op het juiste blad.

    Verder zie ik nu ook dat ik een stukje formule die in de cellen in het uitwerkblad staan (die de waardes overnemen uit het opnameformulier), zal moeten opnemen in de VBA-code, maar daar zal ik wel uitkomen.
    Bijgevoegde bestanden Bijgevoegde bestanden

  13. #13
    Giga Senior Haije's avatar
    Geregistreerd
    24 maart 2009
    Locatie
    Oldenzaal
    Afstand tot server
    ±97 km
    Alleen de invulvelden die ik grijs gemaakt heb worden nog niet gewist, dit gebeurt nog op het oude blad.
    kun je wat specifieker aangeven welke cellen op welk blad je gewist wilt zien, die nu NIET gewist worden?
    Haije
    ___________________________________________________

  14. #14
    Junior Member
    Geregistreerd
    4 januari 2008
    in de VBA-code staat dat de cellen C8 en C9 en de cellen D14 tot en met D94 gewist moeten worden.

    Dit moet gebeuren op het nieuw toegevoegde blad, maar gebeurt nu op het blad waarin ik op de knop Unit toevoegen klik (dus als ik op blad Opname Formulier R3333 sta en voeg unit R4444 toe middels de knop unit toevoegen, dan worden de cellen C8:C9 en D1494 op blad R3333 gewist maar niet op blad R4444)

  15. #15
    Giga Senior Haije's avatar
    Geregistreerd
    24 maart 2009
    Locatie
    Oldenzaal
    Afstand tot server
    ±97 km
    maak van
    Code:
    Range("C8:C9,D14:D94").ClearContents
    eens
    Code:
    ActiveSheet.Range("C8:C9,D14:D94").ClearContents
    Haije
    ___________________________________________________

  16. #16
    Senior Member
    Geregistreerd
    23 mei 2013
    je weet toch dat D1494 formules zijn die je wil wissen op blad R4444?

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren