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

code iets aanpassen

Status
Niet open voor verdere reacties.

ronsom

Gebruiker
Lid geworden
6 mrt 2012
Berichten
232
Goedemiddag,

Ik heb hier een stukje uit een code die ervoor zorgt dat de formule over een x-bereik wordt uitgevoerd.
In de code gaat het om het bereik E2:E16841.
Nu wil ik niet dat de code een vast bereik heeft maar dat hij gaat tot de laatste waarde in de kolom ernaast.
Hier is het stukje code
Code:
ActiveCell.FormulaR1C1 = _
        "=CONCATENATE(RC[1],RC[2],RC[3],RC[4],RC[5],RC[6],RC[7],RC[8],RC[9],RC[10],RC[11],RC[12],RC[13],RC[14],RC[15])"
    Range("E2").Select
    Selection.AutoFill Destination:=Range("E2:E16841")
    Range("E2:E16841").Select

Misschien wil iemand mij hiermee helpen.
bij voorbaat dank
De code is overigens opgenomen met de macrorecorder.

gr Ronsom
 
Dit heb ik lang geleden voor mezelf een keer gemaakt om snel de regels van een geselecteerd bereik om te zetten in 1 stringwaarde in de cel rechts naast de selectie...
Code:
Sub MaakString()
'Normaal maak je met het &-teken als formule een stringwaarde in een cel. Dit blokje zet de waarde uit 2 of meer cellen direct _
'via een array om naar een string.
'           A       B       C
'voorbeeld: 8841    699136  8841699136
Dim q2() ' As String

    q1 = Selection
    ReDim q2(1 To UBound(q1, 1), 1 To 1)
    
    IsString = Len(Join(Application.Transpose(Application.Transpose(Selection.Cells(1).Resize(, UBound(q1, 2)))), "")) > 14
    sTeken = Application.InputBox("Geef hier het scheidingsteken of laat leeg...", "Scheidingsteken", "", , , , , 2)
    
    For I = 1 To UBound(q1, 1)
        For ii = 1 To UBound(q1, 2)
            If IsString Then
                q2(I, 1) = CStr(q2(I, 1) & IIf(IsDate(q1(I, ii)), Format(q1(I, ii), "dd-mm-yyyy"), q1(I, ii))) & sTeken
'                q2(I, 1) = CStr(q2(I, 1) & q1(I, ii)) & sTeken
            Else
                q2(I, 1) = (q2(I, 1) & IIf(IsDate(q1(I, ii)), Format(q1(I, ii), "dd-mm-yyyy"), q1(I, ii))) & sTeken
'                q2(I, 1) = (q2(I, 1) & q1(I, ii)) & sTeken
            End If
        Next ii
        If sTeken <> "" Then q2(I, 1) = Left(q2(I, 1), Len(q2(I, 1)) - 1)
    Next I
    
    Selection.Offset(, UBound(q1, 2)).Cells(1).Resize(UBound(q2)) = q2
    
End Sub
Misschien heb je er iets aan?
 
Hallo Ginger,

Bedankt voor je reactie, ik ga de code gebruiken, misschien lukt het me hem in te passen in mijn code die ik heb opgenomen met de macrorecorder.

Gr Ronsom
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan