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

Variabelen even veel cijfers

Status
Niet open voor verdere reacties.

kriekos

Gebruiker
Lid geworden
22 mrt 2009
Berichten
149
Hallo,

Ik heb een excelbestand met 6696 rijen. Deze bestaan uit 2232 bedrijven. Elk bedrijf bevat dan nog eens 3 variabelen (3 variabelen x 2293 bedrijven = 6696 rijen). Elk bedrijf heeft een rij met de variabele 'Net profit', een rij met de variabele 'Market Value' en een rij met de variabele 'Earnings per share' en dit voor de jaren 1992 tem 2007. Het probleem is als volgt. Ik wil dat een bedrijf voor elk van deze variabelen even veel cijfers bevat. Bijvoorbeeld: een bedrijf (3 rijen) heeft voor de variabele 'Net profit' cijfers beschikbaar voor de jaren '92 - '07, voor de variabele 'Market Value' cijfers beschikbaar voor de jaren '93 - '07 en voor de variabele 'Earnings per share' cijfers beschikbaar voor de jaren '94- '07. ik wil dan dat voor alle 3 de variabelen enkel de cijfers voor '94 - '07 blijven staan. Dus dat voor variabele 'Net profit' '92 - '93 en voor de variabele 'Market Value' '93 gewist worden. Op deze manier heeft het bedrijf voor elk van de 3 variabelen enkel cijfers voor de jaren '94 - '07.

Ik weet dat het zo moeilijk voor te stellen is, maar het bijgevoegde voorbeeld zal veel duidelijk maken. De cijfers die moeten verwijderd worden staan aangeduidt in het rood. Degene die behouden moeten blijven staan in het groen.

Weet iemand een methode om dit te automatiseren? Want 6697 rijen is veel...
 

Bijlagen

Laatst bewerkt:
Ik vermoed dat het toch maar eenmalig te doen is?
Dan lukt dat met deze wel:
Code:
Sub aanpassing()
Application.ScreenUpdating = False
For rij = 2 To 6697 Step 3
    For kol = 2 To 17
      If Cells(rij, kol) = "" Or Cells(rij + 1, kol) = "" Or Cells(rij + 2, kol) = "" Then
        Cells(rij, kol) = ""
        Cells(rij + 1, kol) = ""
        Cells(rij + 2, kol) = ""
      End If
    Next
Next
Application.ScreenUpdating = True
End Sub

De opbouw moet wel precies zo zijn als opgegeven, te beginnen in rij 2 en telkens 3 items per bedrijf.

Succes, Cobbe

PS: Test toch maar eerst op een copy !!!!
 
kan je me mss ook uitleggen wat ik daarmee moet doen want van visual basics ken ik niets? :s
 
Laatst bewerkt:
In je werkblad met de gegevens klik je rechtermuis op het tab
Dan kies je voor 'Programmacode weergeven.
Dan kom je in de VBE en kies je voor Invoegen - Module
Daar plak je de macrocode.
Sluit nu VBE en via Beeld - werkbalken - formulieren teken je een knop.
Aut. opent zich nu een tab met de naam(aanpassing) vd macro in.
Selecteer deze en klaar zou het moeten zijn, als ik niets vergeten ben.

Succes,
Cobbe
 
ok! zeer hartelijk bedankt! je hebt me net zoon 10u aan werk bespaart!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan