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

Selectieve lijst exporteren naar ander werkblad

  • Onderwerp starter Onderwerp starter Tom30
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Tom30

Gebruiker
Lid geworden
17 jan 2007
Berichten
110
Hallo beste specialisten,

Het is alweer een hele tijd geleden dat ik uitdaging voorlegde hier, dat is een goed teken.. :-)
Ik heb mezelf echter weer overschat en ben toch op een punt aangekomen dat ik jullie om hulp wil vragen.

Bijgevoegd een bestand.
Ik wil graag de teksten in de cellen in blad 1 onder kolom F exporteren naar cellen in blad 2, echter alleen de cellen waar kolom D in blad 1 een x staat. De bedoeling is dus om op blad 2 een lijst te genereren van cellen die op blad 1 door een x worden geselecteerd. Ik heb het idee dat ik de INDEX in de formule moet doen maar ik kom daar maar niet uit. Gaat me net iets te ver, haha.

Ik hoop dat iemand me kan helpen. Mijn dank is wederom kilometers lang!!! :thumb:

Groeten, Tom
 

Bijlagen

Hallo,
Ik heb deze formule gemaakt:=IF(Blad1!D13="x";Blad1!F13;"")
Als er x staat in cel D13 blad 1 dan moet hij de tekst van cel F13 kopieren zoniet dan moet niks kopieren.
Hoop dat dit goed is.
 
Hallo,
Ik heb deze formule gemaakt:=IF(Blad1!D13="x";Blad1!F13;"")
Als er x staat in cel D13 blad 1 dan moet hij de tekst van cel F13 kopieren zoniet dan moet niks kopieren.
Hoop dat dit goed is.

Hi Snorifu,

BEdankt voor je snelle antwoord. Het klopt helemaal wat je zegt. Het probleem is alleen dat er bijvoorbeeld in rij 2 geen x staat. Met jouw formule krijg ik in blad 2 een aantal lege regels ertussen en dat wil ik juist niet. Ik wil juist een opsomming van alleen de regels met een x ervoor. Dat is het idee.

Wellicht dat je daar nog een oplossing voor hebt?? :-)
In ieder geval bedankt!
 
Sorry kom er niet uit, er is vast wel iemand hier die er wel uit komt;)
 
Tom30 ,

Ik moet zo weg, heb dus nu geen tijd.

Gebruik eens de macro recorder.
Doe de handelingen en hij schrijft de code, kun ja later inkorten (overbodige code eruit halen)

Selecteer het berijk en laat het filter op de x zoeken en copieer het en plak het op blad2.

Suc6
 
Tom30 ,

Ik moet zo weg, heb dus nu geen tijd.

Gebruik eens de macro recorder.
Doe de handelingen en hij schrijft de code, kun ja later inkorten (overbodige code eruit halen)

Selecteer het berijk en laat het filter op de x zoeken en copieer het en plak het op blad2.

Suc6

Hoi Wim,
Ik heb het met de macro recorder geprobeerd maar dat wil niet echt werken. Ik heb ook het vermoeden dat het met een formule kan, en dat het met een macro een stuk lastiger is.
Ik heb ooit een advies gekregen van iemand in een vergelijkbaar vraagstuk. Daar werd het opgelost met de formule INDEX en RIJ. Het was echter zo complex dat ik het niet kan ontleden en op dit vraagstuk kan toepassen.
Het vraagstuk is nu een stuk simpeler: Op blad 2 dient een lijst te onstaan van de cellen in blad 1 waar een x voor staat. De beoeling is om geen blaco regels te laten onstaan op blad 2.
Mijn "logisch denken" zegt dat ik dat met vertikaal zoeken zou kunnen doen, waarbij hij telkens de "gevonden" regel over moet slaan en de eerstvolgende x moet zoeken. En daar zit ik juist in vast.

Toch bedankt voor je reactie!!

Groeten, Tom
 
Tom30 ,

Kijk eens of je dit wat vind.
De macro zal wel korter kunnen maar ik moet weer weg.
 

Bijlagen

Laatst bewerkt:
Bekijk bijlage 98399Tom30 ,

Kijk eens of je dit wat vind.
De macro zal wel korter kunnen maar ik moet weer weg.

Hoi Wim,

Dit doet inderdaad precies wat ik graag zou willen!!! (waarvoor enorme dank)
Om deze macro vanuit het voorbeeldbestand geschikt te maken voor toepassing in mijn project, zou ik je willen vragen of je me de volgende regel zou wikllen toelichten:

.Offset(1, 2).SpecialCells(xlCellTypeVisible).Copy_
[Blad2!C65536].End(xlUp).Offset(1)

Wat ik er bijvoorbeeld niet uit kan halen is WAAR hij de data neerschrijft in het doel-blad. Hoe weet deze macro dat hij de data vanaf cel C12 in blad 2 naar beneden moet opsommen?
En wat doet Offset?

Heel erg bedankt tot zover... (erg leerzaam!)

Groeten, Tom
 
Tom30,

.Offset(1, 2).SpecialCells(xlCellTypeVisible).Copy_
[Blad2!C65536].End(xlUp).Offset(1)
Wat ik er bijvoorbeeld niet uit kan halen is WAAR hij de data neerschrijft in het doel-blad
Het bovenste deel: kopieerd de zichtbare cellen met de x (Na het filteren op x)
Het onderste deel: plaatst het op blad2 in kolom C onder de laatst gebruikte regel. (de eerste lege regel)

Doe anders, als je in de VBA Editor zit met F8 (door steeds te klikken met F8) stap voor stap de code en kijk af en toe in het blad.
Zo kun je zien wat er gebeurd.
Voor Offset kun je in de help van Excel kijken en ook voor SpecialCells

Suc6
 
Laatst bewerkt:
Tom30,



Het bovenste deel: kopieerd de zichtbare cellen met de x (Na het filteren op x)
Het onderste deel: plaatst het op blad2 in kolom C onder de laatst gebruikte regel. (de eerste lege regel)

Doe anders, als je in de VBA Editor zit met F8 (door steeds te klikken met F8) stap voor stap de code en kijk af en toe in het blad.
Zo kun je zien wat er gebeurd.
Voor Offset kun je in de help van Excel kijken en ook voor SpecialCells

Suc6


Beste Wim,

Ik ben druk bezig geweest met het vertalen van je voorbeeld macro naar de aplicatie waar hij uiteindelijk in moet. In het voorbeeld doet het precies zoals ik het zou willen hebben, ik krijg het echter alleen niet vertaald. Hij loopt vast op de regel waarin de eerste offset wordt bepaald. Ik krijg de melding dat ik geen samengevoegde cellen mag wijzigen maar alle cellen waar de macro mee werkt zijn niet-samengevoegde cellen. Ik heb de offset veranderd in bijgevoegd voorbeeld naar 8, omdat dat de afwijking is van het aantal kolommen ten opzichte van de currentRegion.

Zou jij eens willen kijken waar ie op vastloopt! Ik zie het maar niet..... :evil: (haha)

Ik heb het voorbeeld bijgevoegd. In dit voorbeeld zit een grote knop waar precies op staat wat ie moet doen. Ik moet erbij vermelden dat de eerste 4 kolommen in het uiteindelijke bestand verborgen worden. Deze dienen alleen voor het transport van de kolommen waar de x in geplaatst wordt, zodat de macro zijn werk kan doen.

Ik hoop dat jij het wel ziet!

In ieder geval alvast reuze bedankt!!!!

Groeten, Tom
 

Bijlagen

Zou jij eens willen kijken waar ie op vastloopt! Ik zie het maar niet..... :evil: (haha)
[/B]
Beste Tom30, ;)

Vermijd het gebruik om cellen samen tevoegen, dit geeft vaak veel foutmeldingen icm VBA.

Met vr gr
Jack
 
[/B]
Beste Tom30, ;)

Vermijd het gebruik om cellen samen tevoegen, dit geeft vaak veel foutmeldingen icm VBA.

Met vr gr
Jack

Hey Jack,

Bedankt voor het advies! Dat ga ik zeker onthouden.
Het is alleen zo dat de cellen die binnen deze macro gebruikt worden, niet zijn samengevoegd. Zie ik dan iets over het hoofd?

ALvast bedankt.

Groeten, Tom
 
Hallo Tom30 ;)

Probeer het eens met deze macro, want je hoeft je kolommen niet te verbergen.
Code:
Private Sub CommandButton1_Click()
  With Sheets("Card").UsedRange
    .AutoFilter 1, "X"
    .Offset(1, 7).Resize(, 1).SpecialCells(xlCellTypeVisible).Copy Sheets("actie1").Cells(Rows.Count, 2).End(xlUp).Offset(1)
    .AutoFilter
  End With
End Sub
Met vr gr
Jack
 
Hallo Tom30 ;)

Probeer het eens met deze macro, want je hoeft je kolommen niet te verbergen.
Code:
Private Sub CommandButton1_Click()
  With Sheets("Card").UsedRange
    .AutoFilter 1, "X"
    .Offset(1, 7).Resize(, 1).SpecialCells(xlCellTypeVisible).Copy Sheets("actie1").Cells(Rows.Count, 2).End(xlUp).Offset(1)
    .AutoFilter
  End With
End Sub
Met vr gr
Jack

Jack, dit werkt echt helemaal perfect!!!!!!! Super bedankt man, nu kan ik weer verder. Bestaat er nog een parameter die ik toe kan voegen waardoor hij alleen de inhoud van de cel kopieert en niet de opmaak?

Echt tof, bedankt dat je me wilde helpen!!!!!

Groeten, Tom
 
Beste Tom30 ;)

Zo blijft de opmaak in tabblad "actie1" ongewijzigd
Code:
Private Sub CommandButton1_Click()
  With Sheets("Card").UsedRange
    .AutoFilter 1, "X"
    .Offset(1, 7).Resize(, 1).SpecialCells(2).Copy
     sheets("actie1").cells(rows.count, 2).end(xlUp).offset(1).pastespecial xlvalues
    .AutoFilter
  End With
  
End Sub
Met vr gr
Jack
 
Beste Tom30 ;)

Zo blijft de opmaak in tabblad "actie1" ongewijzigd
Code:
Private Sub CommandButton1_Click()
  With Sheets("Card").UsedRange
    .AutoFilter 1, "X"
    .Offset(1, 7).Resize(, 1).SpecialCells(2).Copy
     sheets("actie1").cells(rows.count, 2).end(xlUp).offset(1).pastespecial xlvalues
    .AutoFilter
  End With
  
End Sub
Met vr gr
Jack

Hey Jack,

Deze macro werkt inderdaad perfect! SUPER BEDANKT !!!! Mijn weekend kan niet meer stuk.. :D
Ik heb weer veel geleerd hierdoor, thanks!

Fijn weekend.

Groeten, Tom
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan