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

twee keer data transporteren

Status
Niet open voor verdere reacties.

perryvg

Verenigingslid
Lid geworden
5 nov 2009
Berichten
197
in bijgevoegde file heb ik ongeveer proberen voor te stellen wat ik bedoel.
ik heb het al wel voor elkaar om de data naar een lijst te copieren(data opslag).
waar ik nu mee zit, is dat ik in de zelfde macro(onder de knop)ook de datum en soort naar het tabblad "data per persoon" te copieren. maar dan de juiste data bij de juiste persoon.
wie kan mij hier bij helpen .
alvast bedankt,
Perry

Bekijk bijlage help mij.xls
 
Test deze eens Perry.

Code:
Sub Knop3_BijKlikken()
  Sheets("invoerblad").Range("i8:k8").Copy Sheets("data opslag").Range("a" & Rows.Count).End(xlUp).Offset(1)
      kolom = WorksheetFunction.Match(Sheets("invoerblad").[I8], Sheets("data opslag per persoon").Range("A2:I2"), 0)
  Sheets(3).Cells(Rows.Count, kolom).End(xlUp).Offset(1).Resize(, 2).Value = Sheets("invoerblad").[J8].Resize(, 2).Value
     Sheets("data opslag").Select
End Sub
 
Harry, en ook andere gebruikers van helpmij.
ik heb het uitgeprobeerd op de test file en een paar aanpassingen zodat hij werkt voor mij.
dit was geen probleem.
nadat ik de macro in mijn goede file heb in gebracht, krijg ik een melding:"eigenschap Match van Klasse WorksheetFunction kan niet worden opgehaald.
de regel waar alle data in staat is C14 tot F14, dit kopieren naar data opslag werkt.
in de volgende regel moet de macro naar de naam kijken [C14]de tab waar naar toe geschreven moet worden is "opname per persoon" de range begint opA3 en eindigt op AK3.
hier geeft VB een fout melding, zie boven.
wat doe ik fout.
perry


de macro zoals in mijn goede file:
Sheets("invoeren").Range("c14:f14").Copy Sheets("data opslag").Range("a" & Rows.Count).End(xlUp).Offset(1)

kolom = WorksheetFunction.Match(Sheets("invoeren").[c14], Sheets("opname per persoon").Range("A3:ak3"), 0)

Sheets(3).Cells(Rows.Count, kolom).End(xlUp).Offset(1).Resize(, 2).Value = Sheets("invoeren").[e14].Resize(, 2).Value
Sheets("invoeren").Select
 
Staan er overtollige spaties achter de namen?
 
heb alle namen personen en tab namen gecontroleerd deze staan het zelfde als in de macro
 
Dan je bestandje uploaden lijkt me de korste klap.
 
]heb ik geprobeerd, helaas is deze al meer dan 4,5 keer de toegestaande grote, zelfs een pdf sherm afdruk is nog te groot
kan het iets te maken hebben hoe ik de datum en de namen opvraag, namen worden met validatie gegenereerd.
dit omdat de namen in de ploeg nog al eens veranderen, word in een blad instellingen dit bij gehouden.
daarna worden de namen in een lijst op het invoerblad weg gezet(verborgen, met kleur van scherm) met in elke cel = en verwijzing naar instellingen.
heb even een voorbeeld bij gedaan zoals in de grote file
 

Bijlagen

Helaas kan ik hier niets mee Perry.

Lijkt in de verste verte niet op je vorige bestandje.
Geen code, geen namen. etc.

Is dit wel het goede bestandje.
 
Het was geen Sheets(3), wat ik al vermoede en was daar al huiverig voor toen ik het maakte.
Het is Sheets(4), maar ik heb er de juiste naam aan gegeven (lijkt me beter).

Waarom wil je 'Piet' wegschrijven als er geen 'Piet' in je validatielijst staat, alsook niet in 'data opslag per persoon'.

Daar krijg je de foutmelding op!!!!

Code:
Sub Knop3_BijKlikken()
  Sheets("invoerblad").Range("i8:k8").Copy Sheets("data opslag").Range("a" & Rows.Count).End(xlUp).Offset(1)
      kolom = WorksheetFunction.Match(Sheets("invoerblad").[I8], Sheets("data opslag per persoon").Range("A2:I2"), 0)
  Sheets("data opslag per persoon").Cells(Rows.Count, kolom).End(xlUp).Offset(1).Resize(, 2).Value = Sheets("invoerblad").[J8].Resize(, 2).Value
     Sheets("data opslag").Select
End Sub
 
geachte forum leden, ik heb de file naar harry opgestuurd.
dit omdat deze veel te groot was en na zippen nog te groot was.
als harry een oplossing heeft gevonden, zal ik deze ook met jullie delen.

Harry, bij voorbaat dank.
Perry
 
De gezochte namen bevinden zich op rij 2 Perry, en niet op rij 3.
Code:
Sub Knop3_BijKlikken()
  Sheets("invoeren").Range("c14:f14").Copy Sheets("data opslag").Range("a" & Rows.Count).End(xlUp).Offset(1)
      kolom = WorksheetFunction.Match(Sheets("invoeren").[c14], Sheets("opname per persoon").Range("[COLOR="red"]a2:ak2[/COLOR]"), 0)
  Sheets("opname per persoon").Cells(Rows.Count, kolom).End(xlUp).Offset(1).Resize(, 2).Value = Sheets("invoeren").[e14].Resize(, 2).Value
     Sheets("invoeren").Select

End Sub
 
Harry, van harte bedankt.
werkt super.
ik dat dat net als bij een normale rij copieren je de eerste lege cel moest nemen.
bij deze macro moet je naar de naam verwijzen.
ik ben je zeer dankbaar, en hoop dat andere forumleden ook wat aan deze topic hebben.
ga nu deze topic afsluiten.

perry
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan