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

Specifieke tekst kopieren naar regel met bepaalde inhoud (complexe macro nodig).

Status
Niet open voor verdere reacties.

TEAMLegendary

Gebruiker
Lid geworden
11 mrt 2016
Berichten
7
Goedendag allemaal,

Ik heb een nogal complex probleem in mijn ogen die ik graag met een macro wil oplossen maar ik heb helaas geen idee hoe.

Ik heb in de bijlage het volledige werkblad waarbij ik meerdere cellen een kleur heb gegeven zodat het helder zou moeten zijn op welke cellen ik doel in mijn probleembeschrijving.
Mijn doel:
In het bestand wil ik graag, wanneer in kolom I "XXXXX" voorkomt de waarde direct ernaast kopiëren. (in dit geval €25,44 (cel=geel)). Deze waarde moet naar de eerst vorige rij waar in kolom B de term "DT" staat (cel=lichtblauw) en dan in kolom F (cel=groen).
Nadat deze waarde is gekopieerd moet de cel ernaast "A2" worden ipv "A0" (cel=donkerblauw).
Als laatste moet de rij met daarin "XXXXX" worden verwijderd (rij=oranje gekleurd).

Stappen in het kort:
1: Kopieer bedrag rechts naast "XXXXX" en plak deze in de eerst vorige(!) rij waar in kolom B de waarde "DT" staat.
2: Wijzig in de rij waar in kolom B de waarde "DT" voorkomt en in kolom L een BTW bedrag voorkomt in kolom K de waarde "A0" naar "A2"
3: Verwijder de rij met "XXXXX"

Belangrijke punten die meegenomen moeten worden is:
- zoals je ziet zijn niet altijd het aantal regels tussen "XXXXX" in kolom I en DT in kolom B hetzelfde aantal regels, deze kunnen verschillen!
- niet alle "A0" in kolom K moeten worden vervangen door "A2", alleen de "A0" waarden die een belastingbedrag hebben direct rechts naast zich in kolom L.

Mocht iemand voor (met name de eerste stap!) een goede oplossing hebben hoor ik het graag!
Alvast bedankt!
 

Bijlagen

De beschrijving klopt niet helemaal. Er zijn geen groene cellen in kolom F.
Ik ga er maar even van uit dat je kolom L bedoelt in plaats van kolom F. Als het niet goed is hoor ik het wel.
Code:
Sub tsh()
    Dim i As Long, j As Long
    
    With Sheets("Upload SAP")
        For i = .Range("I" & Rows.Count).End(xlUp).Row To 2 Step -1
            If .Range("I" & i) = "XXXXX" Then
                For j = i - 1 To 1 Step -1
                    If .Range("B" & j) = "DT" Then
                        [COLOR="#FF0000"].Range("L" & j)[/COLOR] = .Range("J" & i)
                        .Range("K" & j) = "A2"
                        Exit For
                    End If
                Next
                .Rows(i).Delete Shift:=xlUp
            End If
        Next
    End With
End Sub
 
Laatst bewerkt:
Beste Timshel,

Hartstikke bedankt voor de snelle en juiste reactie.
Hij werkt volledig. Ook al heb ik enige kennis van VBA, dit gaat mijn kennis ver te boven. Dank hiervoor.

Ciao!

ps. je hand inderdaad gelijk met de naamsverwarring van de kolom, excuses!
 
We moeten toch wat te spelen hebben!
Code:
Sub Werkt_Dit_Ook()
    Dim i As Long
    For i = 1 To Application.WorksheetFunction.CountIf(Range("I:I"), "XXXXX")
        Cells(Columns(2).Find("DT", Cells(Columns(9).Find("XXXXX", Cells(1, 9), , 1).Row, 2), , 1, , xlPrevious).Row, 11).Value = "A2"
        Cells(Columns(2).Find("DT", Cells(Columns(9).Find("XXXXX", Cells(1, 9), , 1).Row, 2), , 1, , xlPrevious).Row, 12).Value = Cells(Columns(9).Find("XXXXX", Cells(1, 9), , 1).Row, 10).Value
        Range(Columns(9).Find("XXXXX", , , 1).Address).EntireRow.Delete
    Next i
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan