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

Waardes uit twee kolommen samen voegen in een kolom

Status
Niet open voor verdere reacties.

rhandaltor

Nieuwe gebruiker
Lid geworden
3 apr 2013
Berichten
3
Hallo Helpmij!

ik ben bezig om waardes uit kolom a en b samen te voegen in kolom E waarbij de waarde van kolom b onder de waarde van kolom a komt te staan. echter het wil niet helemaal lukken.

in onderstaande macro wordt eerst kolom E gewist, dan kolom A gekopieerd en in E1 geplakt, hierna worden de velden van kolom B gekopieerd en deze zouden dan onder de velden die al in kolom E staan geplakt moeten worden. Echter ik kan in de macro niet aangeven hoe naar de eerste lege cel in kolom E te gaan.

Sub kolomsamenvoegen()

'
' kolomsamenvoegen Macro
' De macro is opgenomen op 13-08-2013 door P. Wennemers.
'

'
Range("E1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("E1").Select
ActiveSheet.Paste
Range("B1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("E1").Select
Selection.End(xlDown).Select
ActiveSheet.Paste



End Sub

Wie kan mij hier bij helpen.

Groetjes Rhand.Bekijk bijlage automatische macro.xls
 
Begrijp ik het goed dat wanneer er "abc" in cel A1 staat en "123" in cel B1 dat er dan
abc
123
in cel E1 moet komen?

Dan heb je daar geen vba voor nodig

Zet gewoon de formule
Code:
=A1 & CHAR(10)  & B1
in cel E1.
Je zal wel alle rijen hoger moeten maken om die 2de lijn te zien in de cellen.
 
Ik denk dat ik het niet goed begrepen had :(
Probeer deze code eens
Code:
    With ActiveSheet
        .Range(.Range("E1"), .Range("E1").End(xlDown)).ClearContents
    
        .Range(.Range("A1"), .Range("A1").End(xlDown)).Copy
        .Range("E1").PasteSpecial Paste:=xlPasteAll
    
        .Range(.Range("B1"), .Range("B1").End(xlDown)).Copy
        .Range("E1").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll
    End With
 
Hallo mcs51mc,

Dank voor je snelle reactie.
Nee, het is de bedoeling alle waarden in kolom A in kolom E te plakken en alle waarden uit kolom B onder de waarden in kolom E toe te voegen.

met Range("E1").Select
Selection.End(xlDown).Select
ActiveSheet.Paste


kom ik op de laatste gevulde cel in kolom E, maar hoe kom ik op de lege cel eronder. hierbij rekening houdend dat het aantal gevulde cellen in kolom A en B variabel is.
 
mcs51mc,

Geweldig, dit is precies wat ik zocht.

Mijn hartelijke dank.
Rhand.
 
Code:
Sub M_snb()
    Columns(1).Copy Cells(1, 5)
    Columns(2).SpecialCells(2).Copy Cells(Rows.Count, 5).End(xlUp).Offset(1)
End Sub
 
Zonder VBA lukt het ook :)
Zet onderstaande formule in kolom E zo ver als je maar wenst
Werkt altijd véél sneller dan eender welke vba code, hoe kort die ook mag zijn :) :)

Code:
=IF(ROW()<COUNTA(A:A)+COUNTA(B:B)+1;IF(ROW()<COUNTA(A:A)+1;OFFSET($A$1;ROW()-1;0);OFFSET($B$1;ROW()-COUNTA(A:A)-1;0));"")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan