Hulp code; bepaalde regels kopieren werkt niet

Status
Niet open voor verdere reacties.

MuM111

Gebruiker
Lid geworden
19 jun 2013
Berichten
46
Beste forumleden,

kan iemand mij helpen met onderstaande code?
Gaat erom dat de cellen kolom A-C waarbij in kolom A een z staat leeg gemaakt worden.
Is 1e deel van de code en dit werkt.

Daarna zouden de cellen gekopieerd moeten worden als bij kolom C een waarde staat.
Bij waarde 104,107 en 110 dan 2 regels met kopie waarde, de rest 1 regel.
Deze kunnen gekopieerd worden op eerstvolgende lege regel.
Is 2e deel van de code maar deze krijg ik niet voor elkaar.

Bvd voor jullie hulp.

Bekijk bijlage Test.xls

Code:
    Dim i As Integer
    Dim y As Integer
    i = ActiveSheet.Range("A5:A208").Rows.Count
    For y = i To 1 Step -1
        If Cells(y, 1).Value = "z" Then
           Range(Cells(y, 1), Cells(y, 15)).ClearContents
        End If
    Next
    
    Dim j As Integer
    
    i = ActiveSheet.Range("A5:A208").Rows.Count
    For y = 1 To i Step 1
        If Cells(y, 7).Value = "104" Or "107" Or "110" Then
           Range(Cells(y, 1), Cells(y, 15)).Copy
           For j = 1 To i Step 1
                If Cells(j, 1).Value = "" Then
                Selection.Paste
                Range(1, 1).Selection.Paste
                End If
           Next
        ElseIf Cells(y, 7).Value > "101" Then
               Range(Cells(y, 1), Cells(y, 15)).Copy
               For j = 1 To i Step 1
                If Cells(j, 1).Value = "" Then
                Selection.Paste
                End If
               Next
        End If
    Next
 
MuM111,

Het eerst deel van de code werkt niet helemaal goed omdat je het aantal regels telt tussen A5:A208 ( =204 regels)
En begint met controleren vanaf Cells(y,1) waarbij y = 204. Als in regel 205 een "z" staat wordt hij niet gevonden.
Ook het tweede deel gaat om dezelfde reden niet goed ik vermoed dat je wil controleren van de 5e t/m 208e regel dus beginnen
met Cells(y +4, 7) in plaats van Cells(y, 7).
Je geeft aan dat je in kolom C een waarde wil vergelijken maar je kijkt in kolom G ( Cells( y, 7)).
Het tweede deel werkt ook niet omdat hij controleert of de Cells(y, 7) een tekst bevat met de waarde "104" Or "107" Or "110".
Ik vermoed echter dat er getallen staan in de cellen dus zal er gecontroleerd moeten worden of
Cells(y, 7).Value = 104 Or 107 Or 110
Verder vermoed ik dat je de rij wil kopiëren onder aan de bestaande regel dit
Gebruik hiervoor: Range("A5").End(xlDown).offset(1,0) om de eerst lege regel te vinden.

Veel Succes
 
Beste Elsendoorn,

Excuses voor de late reaktie maar ben er paar weken uit geweest wegens ziekte en geen pc aangeraakt.

Dank je voor de opmerkingen en zal ze verwerken en kijken of ik verder kom.
Zal helaas even moeten blijven liggen omdat het even geen prioriteit heeft.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan