Delete herhalen

Status
Niet open voor verdere reacties.

vhenk

Gebruiker
Lid geworden
4 feb 2009
Berichten
33
Hoi allemaal,

Ik ben nog bekend met VBA enkel het geen wat ik hier vandaan heb gehaalt.
Het geen wat ik hier vandaan heb gehaald heb me al zeker geholpen.
Nu kom ik het volgende tegen.
Ik wil graag een handeling telkens herhalen , het zal met een zogeheete lus moeten gebeuren denk ik, maar ik weet hier nog niks van af wie kan mij helpen


ik heb het volgende :

Code:
Sub Delete()

'Ik heb een bestand waar ik de eerst rij wil verwijderen , is niet moeilijk.
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp
    
'Nu wil ik het volgende telkens herhalen.

    ActiveWindow.SmallScroll Down:=-3
    Rows("37:38").Select
    Selection.Insert Shift:=xlDown
    
    ActiveWindow.SmallScroll Down:=18
    Rows("51:54").Select
    Selection.Delete Shift:=xlUp
    
    ActiveWindow.SmallScroll Down:=27
    Rows("73:74").Select
    Selection.Insert Shift:=xlDown
    
    ActiveWindow.SmallScroll Down:=12
    Rows("87:90").Select
    Selection.Delete Shift:=xlUp
    
    ActiveWindow.SmallScroll Down:=18
    Rows("109:110").Select
    Selection.Insert Shift:=xlDown
End Sub

Al vast bedankt voor de genomen moeite om mij te helpen met voor mij een groot probleem en misschien voor jullie een niet.
 
Hoe bepaal jij, en dus de code, welke rijen er verwijderd moeten worden?
 
Ik heb een bestand, te groot om als bijlage mee te sturen.
Is al verkleind naar 300 kb maar wil niet lukken.

Komt op het volgende neer ::


-----------------
Relatiecode
Relatievolgnummer
Naam
Volgnaam
Straat
Postcode
Woonplaats
Land
Kengetal
Telefoon
Telefax
E-mail
EAN-codering
Extern nummer
BTW nummer
Leverancier stat.
Betalingsconditie
Leveringsconditie
Categorie
Valutacode
Trajectcode
Routecode
Route-volgnr
Kortinggroep
Btw-klasse
Inkoopfact. cntr.
Forfaitair perc.
Totaalorderkort.
Min. ordergrootte
Electr. communic.
Actief
CONTACT PERSO
Volgnr. Titel
VRIJE CODERIN
Relatiecode
Relatievolgnummer
Naam
Volgnaam
Straat
Postcode
Woonplaats
Land
Kengetal
Telefoon
Telefax
E-mail
Vervolg op blad


-----------------
EAN-codering
Extern nummer
BTW nummer
Leverancier stat.
Betalingsconditie
Leveringsconditie
Categorie
Valutacode
Trajectcode
Routecode
Route-volgnr
Kortinggroep
Btw-klasse
Inkoopfact. cntr.
Forfaitair perc.
Totaalorderkort.
Min. ordergrootte
Electr. communic.
Actief
CONTACT PERSO
Volgnr. Titel
VRIJE CODERIN
Relatiecode
Relatievolgnummer
Naam
Volgnaam
Straat
Postcode
Woonplaats
Land
Kengetal
Telefoon
Telefax
E-mail
Vervolg op blad


-----------------
EAN-codering
Extern nummer
BTW nummer
Leverancier stat.
Betalingsconditie
Leveringsconditie
Categorie
Valutacode
Trajectcode
Routecode
Route-volgnr
Kortinggroep
Btw-klasse
Inkoopfact. cntr.
Forfaitair perc.
Totaalorderkort.
Min. ordergrootte
Electr. communic.
Actief
CONTACT PERSO
Volgnr. Titel
VRIJE CODERIN
Relatiecode
Relatievolgnummer
Naam
Volgnaam
Straat
Postcode
Woonplaats
Land
Kengetal
Telefoon
Telefax
E-mail
Vervolg op blad


-----------------
EAN-codering
Extern nummer
BTW nummer


enz.

Ik hoop dat je me kan helpen

bedankt Henk
 
Dus de lege rijen moeten eruit? Je moet toch meer informatie geven aub, want blijven gokken is niet echt de bedoeling volgens mij.
 
Ik zal proberen een uitleg te geven wat ik aan het doen ben.
ik ter uit een prograam een txt bestand:
.V. Overzicht Leveranciers Dat u m : 13/02/09 / 14:27 Blad : 1
----------------- - -------------------------------------------------- ------------------- - ----------------------------------------
Relatiecode : 7005 Actief :
Relatievolgnummer : Mailing :
Naam : Zoekargument 1 :
Volgnaam : Zoekargument 2 :
Straat : Postbusnummer :
Postcode : Postcode postb. :
Woonplaats : Woonplaats postb :
Land : Taal :
Kengetal :
Telefoon : Telex :
Telefax : Modem :
E-mail :
EAN-codering :
Extern nummer :
BTW nummer : Kostentabel
Leverancier stat. : 1:00
Betalingsconditie : 2:00
Leveringsconditie : 3:00
Categorie : 4:00
Valutacode : 5:00
Trajectcode : 6:00
Routecode : 7:00
Route-volgnr : 8:00
Kortinggroep : 9:00
Btw-klasse : 10:00
Inkoopfact. cntr. :
Forfaitair perc. :
Totaalorderkort. :
Min. ordergrootte :
Electr. communic. :
Actief :
CONTACT PERSO N EN :
Volgnr. Titel Naam Functie Telefoon Afdeling Taal Gesl. Mail. Besl
VRIJE CODERIN G EN :
Relatiecode : 7006 Actief :
Relatievolgnummer : Mailing :
Naam : Zoekargument 1 :
Volgnaam : Zoekargument 2 :
Straat : Postbusnummer :
Postcode : Postcode postb. :
Woonplaats : Woonplaats postb :
Land : Taal :
Kengetal :
Telefoon : Telex :
Telefax : Modem :
E-mail :
Vervolg op blad

.V. Overzicht Leveranciers Dat u m : 13/02/09 / 14:27 Blad : 2
----------------- - -------------------------------------------------- ------------------- - ----------------------------------------
EAN-codering : 0
Extern nummer :
BTW nummer : Kostentabel
Leverancier stat. : 1:00
Betalingsconditie : 2:00
Leveringsconditie : 3:00
Categorie : 4:00
Valutacode : 5:00
Trajectcode : 6:00
Routecode : 7:00
Route-volgnr : 8:00
Kortinggroep : 9:00
Btw-klasse : 10:00
Inkoopfact. cntr. :
Forfaitair perc. :
Totaalorderkort. :
Min. ordergrootte :
Electr. communic. :
Actief :
CONTACT PERSO N EN :
Volgnr. Titel Naam Functie Telefoon Afdeling Taal Gesl. Mail. Besl
VRIJE CODERIN G EN :
Relatiecode : 7007 Actief :
Relatievolgnummer : Mailing :
Naam : Zoekargument 1 :
Volgnaam : Zoekargument 2 :
Straat : Postbusnummer :
Postcode : Postcode postb. :
Woonplaats : Woonplaats postb :
Land : Taal :
Kengetal :
Telefoon : Telex :
Telefax : Modem :
E-mail :
Vervolg op blad

.V. Overzicht Leveranciers Dat u m : 13/02/09 / 14:27 Blad : 3
----------------- - -------------------------------------------------- ------------------- - ----------------------------------------
EAN-codering : 0
Extern nummer :
BTW nummer : Kostentabel
Leverancier stat. : 1:00
Betalingsconditie : 30dg 2:00
Leveringsconditie : fran 3:00

Ziet er niet uit dus trek ik het naar excel toe:

dan krijg ik het netjes in kolomen, maar allemaal onder elkaar tewijl het allemaal verschillende bladen zijn. ik heb deze het liefst onderelkaar ik heb daar het volgende script voor gekregen van finch:

Code:
Sub TransformData()
Const sBron As String = "Blad1"
Const sDoel As String = "zoals het moet worden"
Dim rngData As Range
Dim lSchrijfRij As Long

For i = 3 To Sheets(sBron).Range("A" & Sheets(sBron).Rows.Count).End(xlUp).Row Step 36
    Set rngData = Sheets(sBron).Cells(i, 3).Resize(32) 'de data van blad1 in kolom C van rij 3 tem 34 (als i=3) in een var steken
    lSchrijfRij = Sheets(sDoel).Range("A" & Sheets(sDoel).Rows.Count).End(xlUp).Row + 1 'de rij zoeken op het doelblad waar de data moet naar weggeschreven worden
    rngData.Copy 'data copieren
    Sheets(sDoel).Cells(lSchrijfRij, 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True 'data plakken en transponeren
    Set rngData = Nothing
    Set rngData = Sheets(sBron).Cells(i, 6).Resize(32) 'de data van blad1 in kolom F van rij 3 tem 34 (als i=3) in een var steken
    rngData.Copy 'data copieren
    Sheets(sDoel).Cells(lSchrijfRij, 33).PasteSpecial Paste:=xlPasteAll, Transpose:=True 'data plakken en transponeren
    Set rngData = Nothing
Next i
Application.CutCopyMode = False 'uiterelijke kenmerken van copieren afzetten
MsgBox "Done" 'tonen dat uitvoering gedaan is
End Sub

Nu komt het dus voor dat ik verschillende bestanden uit het systeem haal en niet telkens op deze manier onderelkaar komen het verschil telkens een paar regels . Vandaar mij gedachte als ik rijen ertussen verwijderd dan klopt het script weer . Zal natuurlijk veel makkelijker kunnen maar ik weet even niet hoe.
ik hoop dat dit duidelijker is.

Alvast bedankt voor je tijd
 
Dit is het skelet van de code, pas het wat aan nog waar nodig:

Code:
Sub f()

    Dim lRij As Long
    
    For l = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
        
        If Range("A" & l).Value = "" Or Range("A" & l).Value = ".V. Overzicht" Or Left(Range("A" & l).Value, 1) = "-" Then
        
            Rows(l).Delete
        
        End If
    
    Next
    
    MsgBox "Done"

End Sub

Er zullen rijen verwijderd worden afhankelijk van een aantal voorwaarden in de IF.

Wigi
 
Bedankt , ik ga hier zeker verder mee komen.
Ik begrijp dat mijn vraag heel onduidelijk is geweest, en zal kijken of ik voortaan toch mijn probleem duidelijker kan omschrijven.
En natuurlijk een begin van mijn script toe voegen.
Zo leer je elke dag weer bij.
Bedankt voor de inzet


Groet Henk:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan