if then els "naam zoeken in sheet en de gegevens plaatsen in werkblad

Status
Niet open voor verdere reacties.

Henk Schepers

Gebruiker
Lid geworden
3 apr 2004
Berichten
187
Hallo
Mijn wens is:
in een werkbad wordt een hele maand gegevens verzameld.
in de eerste kolom komen namen te staan en daar achter de gegevens.
Het gaat om ± 16 namen. Per maand komen de namen in verschillende aantallen voor.
Aan het einde van de maand moeten de gegevens naar verschillende tabbladen (in een ander excelbestand) verplaatst worden, dus als de naam jan in de eerste kolom staat moeten de gegevens van jan naar een regel in het tabblad jan gaan in een ander exel bestand
Het is een soort uitsorteren naar een ander bestand in aparte tabbladen.
Mijn kennis van VBA is niet profesioneel en doe wel iets met macro opnemen en kopieeren plakken maar daar kom ik er niet mee.
Is er iemand die mij hier mee wil helpen?
hartelijk dank
__________________
 
Code:
Sub tst()
For Each cl In Sheets("Blad1").Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
'wijzig test2.xls in de naam van je 2de bestand
   Workbooks("Test2.xls").Sheets(cl.Value).[A65536].End(xlUp).Offset(1).EntireRow = cl.EntireRow.Value
Next
End Sub
 
Hartelijk dank

Hartelijk bedankt voor je snelle reactie..
ik ben nog bezig met een andere opzet van het admin bestand, Als mijn neef daarmee accoord gaat dan heb ik het filter niet meer nodig, maar ik sla jou oplossing zeker op voor een eventuele andere toepassing
Nogmaals hertelijk bedankt
 
nog een vraag

Ik zoek een code die na xldown de active cel en een range naar rechts van ± 12 kolommen selecteerd. eigenlijk zonder vaste kolomnummers.
dus waar ik ook terecht kom de aangrenzende twaalf kolommen.
hartelijk dank
 
Als je de onderste cel uit een kolom wil werk je best van beneden naar boven (xlup) omdat, wanneer er een lege cel in je kolom zou zitten je met xldown dus daar zou stoppen wat resulteert in een verkeerd bereik.
Wat betreft je vraag: voor een bereik vanuit de onderste cel van kolom A tot kolom L
Code:
[A65536].End(xlUp).Resize(,12)
 
hallo bakkertje

Ik heb een invulgebied bv a1 tot m12
ik laat de macro naar a1 gaan en xldown
moet stoppen op de laatstgevulde cel
de hele regel van die cel naar 12 kolommen naar rechts moet dan geselecteerd worden

gekopieerd en naar een andere werkmap.
(dit laatste is geen probleem)
 
Laatst bewerkt:
In weerwil van zijn ondertekening heb je het antwoord op je vraag al gehad van Warme bakkertje.
 
Sorry snb

zoals ik in mijn eerste vraag al aangaf, mijn kennis is beperkt in vba.
Is het niet gewoon mogelijk om een range te selecteren vanaf een geselecteerde cel.
Dus ongeacht vanwaar ik begin?
 
?????
Het is niet omdat je geen select ziet staan dat er geen gebied vastgelegd wordt
Volgens je voorbeeld
Code:
[A65536].End(xlup)
ga naar de laatst gevulde cel in kolom A
dit kan je vervangen door eender welke begincel bv [B12].Resize(,3) selecteerd B12 tot D12
Code:
.Resize(,12)
syntax: Resize(aantal cellen naar beneden,aantal kolommen naar rechts)
breidt de geselecteerde cel uit tot een gebied van 12 kolommmen op de rij van de laatst gevulde cel
 
Laatst bewerkt:
dat is wat ik bedoel

Ik heb het volgende neergezet, maar krijg een foutmelding


Private Sub CommandButton13_Click()
ActiveSheet.Range("a9").Select
Selection.End (xlDown)
ActiveSheet.Selected cell.Resize(, 12)






End Sub
 
Beste Henk, het staat toch voor je neus:confused:
Code:
[A9].End(xlDown).Resize(,12)
Wil je dit gebied bv kopieëren wordt het
Code:
[A9].End(xlDown).Resize(,12).Copy
 
beste Warme bakkertje

Het zal de leeftijd wel zijn en onvoldoende inzicht in vba.
daarom vraag ik het ook op dit Forum.
Het funktioneerd inderdaad. maar ik loop tegen het volgende probleem aan.
in de kolom waar hij de laatst gevulde cel moet nemen staat een "als" formule die tekst uit een andere cel haalt en die tekst ziet hij niet als een gevulde cel, dus loopt hij door naar een cel die handmatig is getypt.
ik hoop niet dat ik te lastig ben.
 
Post anders eens een voorbeeldbestandje(zonder gevoelige info) met de gebruikte formule want bij mij levert dit toch geen problemen op ?
 
Beste Warme Bakkertje

Je hebt gelijk
hij ziet de formule wel als gevulde cel. Maar omdat in die hele kolom de formules staan loopt hij door
ik ga dit oplossen door de formule door de macro te laten invullen.
bedankt maar weer
 
Hallo warme bakkertje

Is het ook mogelijk dat je xldown laat stoppen als hij een waarde vindt die gegenereerd is door een formule en de formule overslaat die geen waarde genereerd?
Ik hoop dat ik niet te lastig ben
 
Hallo warme bakkertje

Ik heb toch alles voor elkaar gekregen wat ik wilde met jou hulp.
nog één ding wat ik op internet niet kan vinden.
als ik een cel kopieer en plak dan druk ik op escape om het selectie kader van de gekopieerde cel op te heffen. als ik met macro opnemen op escape druk laat hij die toetsaanslag niet in vba code zien. Ik heb verschillende mogelijkheden die op internet worden aangeboden geprobeerd maar geen resultaat.
Ik zie wel {esc} maar dat alleen accepteerd hij niet, er moet nog iets voor of achter.
Heb jij een oplossing?
 
Zet onderaan je code
Code:
Application.cutcopymode = false
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan