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

Quote

Weergeven resultaten 1 tot 10 van 10

Onderwerp: VBA data sheet1 overbrengen naar sheet2

  1. #1
    Junior Member
    Geregistreerd
    11 december 2008
    Vraag is opgelost

    VBA data sheet1 overbrengen naar sheet2

    Beste forumleden,

    Wie kan mij helpen met onderstaand probleem:

    Ik heb een werkblad (sheet1) waarin door gebruikers meerdere velden kunnen worden ingevuld.
    Het is niet persé nodig om alle velden te voorzien van een waarde.
    Als de gebruiker alle velden, al dan niet voorzien van een waarde, heeft ingevuld moeten deze waarden overgebracht worden naar een ander werkblad (sheet2) middels een <knop> op sheet1.
    Daarna moeten alle velden weer leeg gemaakt worden voor een nieuwe invoer.
    Op sheet2 moet na het indrukken van de <knop> een nieuwe lege rij worden gemaakt en alle waarden (op diezelfde rij) worden geplaatst in kolommen.
    De lege waarden moeten worden overgeslagen.

    Voorbeeld sheet1

    invullen: A1 C3 D6

    sheet2:

    KolomA; KolomB; KolomC
    A1 C3(leeg) D6
    A1 C3 D6(leeg)
    A1 C3 D6

    Als C3 op sheet1 niet ingevuld is moet op die plaats bijvoorbeeld een streepje worden ingevuld of blanco blijven.
    Kolom A wordt altijd voorzien van een waarde!

    Wie kan mij hiermee helpen?

  2. #2
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Dat gaat beter met een voorbeeld document.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  3. #3
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Zonder voorbeeld het basisprincipe.

    Code:
    Sub VenA()
      With Sheet1
        Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 3) = Array(.[A1].Value, .[C3].Value, .[D6].Value)
        .Range("A1,C3,D6").ClearContents
      End With
    End Sub
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  4. #4
    Junior Member
    Geregistreerd
    11 december 2008

    Voorbeeld werkblad

    Hallo VenA

    Uw oplossing werkt niet.
    Ik krijg een foutmelding voor de regel "Sheet2.Cells........

    Bijgevoegd een excel-sheet met een voorbeeld. De beschrijving staat op Blad1

    Alvast bedankt.
    Bijgevoegde bestanden Bijgevoegde bestanden

  5. #5
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    In een .xlsx staat geen macro. Als je een bestand met macro's wil bewaren dan moet je het opslaan als .xlsm of .xlsb

    Code:
    Sub VenA()
      With Blad1
        Blad2.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6) = Array(.[B4].Value, .[D4].Value, .[F4].Value, .[B8].Value, .[D8].Value, .[F8].Value)
        .Range("B4,D4,F6,B8,D8,F8").ClearContents
      End With
    End Sub
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  6. #6
    Junior Member
    Geregistreerd
    11 december 2008
    Sorry, u heeft gelijk. U kunt de extentie van het voorbeeld bestand gewoon wijzigen. Bij het opslaan had ik geen makro o.i.d. ingevoegd, kreeg dus ook geen melding van Excel omtrent de extentie.

  7. #7
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Heb je de code in #5 geprobeerd? Hoe kan je een foutmelding krijgen zonder de code in te voegen? Het verhaal over extensies wijzigen begrijp ik niet. Niet goed opgeslagen is code kwijt.

    Voor het gemak maar even in het bestandje gezet.
    Bijgevoegde bestanden Bijgevoegde bestanden
    Laatst aangepast door VenA : 19 april 2019 om 17:41
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  8. #8
    Junior Member
    Geregistreerd
    11 december 2008
    Hallo VenA

    Bedankt voor de hulp.
    Het rekenblad doet nu exact wat ik ervan verlangde.

    WiKa

  9. #9
    Junior Member
    Geregistreerd
    11 december 2008
    Nogmaals bedankt voor de oplossing.
    Ik heb nu nog een aanvullende vraag m.b.t. voorgaande rekenblad.

    Stel dat ik, middels voorwaardelijke opmaak, de cellen B8, D8 en F8 een bepaalde kleur heb gegeven. (bijvoorbeeld als een meetwaarde boven een bepaalde waarde uitkomt).
    Is het mogelijk dat de opmaak van de cellen B8, D8 en F8 meegenomen worden naar de lijst?

    Is het ook mogelijk dat, wanneer je de knop indrukt, er gecontroleerd wordt of alle cellen zijn ingevuld?

    Vriendelijk dank. WiKa
    Bijgevoegde bestanden Bijgevoegde bestanden

  10. #10
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Wijzig
    Code:
    If .[B4] = "" Then Exit Sub
    in
    Code:
    If Application.CountA(.Range("B4,D4,F4,B8,D8,F8")) <> 6 Then Exit Sub
    De voorwaardelijk opmaak zou ik eenmalig handmatig op blad2 instellen.
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

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