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

Selectief gegevens overzetten naar bestand. VBA?

Status
Niet open voor verdere reacties.

syntychaks

Nieuwe gebruiker
Lid geworden
12 jan 2016
Berichten
1
Beste mensen,

Graag jullie hulp bij het volgende.
Zie bijlage. Bekijk bijlage helpmij_forum v1.xlsx

Daar zie je twee tabladen.
Registratie: Dit is het blad die ik gevuld krijg.
Template: Dt is het blad waar ik specifieke gegevens uit blad "registratie" naar toe wil krijgen.

Ik wil met "met een druk op de knop" een aantal gegevens van blad registratie naar blad Template krijgen. Ik heb kleurtjes gebruikt om te laten zien welk gegevens waar in moeten.

het lastige is: Blad Registratie wordt als een matrix ingevuld. DUs voorbeeld: Hans heeft een datum en een "ja" staan bij Toetsenbord, Muis en Scherm. Dit staat in 1 rij. In blad "template" wordt dit omgezet in 3 rijen. Ik heb een aantal gegevens overgezet om te laten zien wat ik bedoel.


Nog een aantal dingen om rekening mee te houden:

- de derde rij (rood) in tabblad 3 kan per bestand 1 tot 20 cellen gevuld hebben. Is afhankelijk van wie ik hem terug krijg.
- de rijen vanaf 9 kunnen oneindig gevuld zijn.
- het mooiste is als ik blad "template" in een apart bestand heb. En dat ik daar een knop heb die als ik indruk de keuze krijg om een bestand te kiezen. En dat hij dan de juiste gegevens uit blad "registratie" in dat bestand in het "template" bestand onderaan toevoegt.

Ik hoop dat jullie kunnen helpen! Ik vind hem pittig, maar ik ben zeer benieuwd naar jullie input!

Alvast bedankt.

Ps. ik kan helaas niet VBA programmeren. Ik denk dat wel een oplossing kan bieden.

Groeten,
Jannis
 
Laatst bewerkt:
Er staan nogal wat tegenstrijdige dingen in het hele verhaal.

Als het alleen gaat om het transponeren van de gegevens kan je zoiets gebruiken. (Wel even de nutteloze spatie in de tabnaam weghalen.)

Code:
Sub VenA()
ar = Sheets("Registratie").[A3].CurrentRegion
    ReDim ar1(UBound(ar) * 20, 4)
    For j = 7 To UBound(ar)
        For jj = 4 To UBound(ar, 2) Step 2
            If ar(j, jj) <> "" Then
                ar1(n, 0) = ar(j, 3)
                ar1(n, 1) = ""
                ar1(n, 2) = ar(j, jj)
                ar1(n, 3) = ar(1, jj)
                ar1(n, 4) = ar(j, jj + 1)
                n = n + 1
            End If
        Next jj
    Next j
Sheets("template").Cells(2, 10).Resize(UBound(ar1), 5) = ar1
End Sub
 

Bijlagen

  • helpmij_forum v1.xlsb
    21,7 KB · Weergaven: 28
En dan mag onderstaande er wel uit gelaten worden(leeg=leeg).
Code:
 ar1(n, 1) = ""
 
Waarschuwing: ar1 is ook de naam van een cel/range in een werkblad. Het gebruik van underscores of ar0, ar01 voorkomt VBA-verwarring.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan