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

insert row

Status
Niet open voor verdere reacties.

janus1janus1

Gebruiker
Lid geworden
7 apr 2005
Berichten
103
Beste lezers

Ik heb een programma gemaakt waarbij ik na elke mutatie moet sorteren. Een soort planning met een aantal regels per werknemer.
Bij het toevoegen van een regel ga ik als volgt te werk. Eerst sorteren (om de lege regels eruit te halen )daarna de eerste lege regel vullen en dan weer sorteren. Vervolgens tussen elke werknemer een lege regel invoegen (insert row) om een beter overzicht te krijgen. Bij een groot aantal werknemers en veel mutaties worden er elke keer veel lege regels ingevoegd. Tot hier geen probleem.
Wat blijkt nu, door het invoegen van die regels wordt het bestand steeds groter. Als ik met ctrl-end het einde van het werkblad wil zoeken zit ik al gauw op regel 66000. Het programma is dus ook al een keer vastgelopen omdat er geen regels ingevoegd konden worden. Terwijl de meeste regels leeg zijn. Wissen met mbv Del werkt niet.
Kent iemand dit probleem en weet iemand hoe ik dit op zou kunnen lossen?
Janus
 
Regels kunnen in excel verwijderd worden met de functie "Bewerken - Vewijderen" dan wordt er gevraagd wat er juist moet verwijderd worden, bv een hele rij, en dan OK. , en dan verdwijnt te rij. Wanneer de rijen geselecteerd worden, kunnen een ganse reeks rijen in één keer verwijderd worden.
Ik hoop dat deze tip u zal helpen.
 
Hoi Janus,

Vermoedelijk is uw code gewoonweg niet efficiënt.
Of liever: als ik zo uw werkwijze bekijk, heb ik al ernstige twijfels of uw werkwijze wel goed is.

Indien het enkel de bedoeling is om meer ruimte te krijgen tussen uw regels volstaat het volgens mij al om gewoon uw regels dubbel zo groot te maken.

Maar er zijn betere technieken om uw 'records' overzichtelijk te houden.

Wat dacht je van voorwaardelijke opmaak, die uw regel om en om een grijze/witte kleur geeft?

Luc
 
De eerste methode werkt niet. Hoe ik ook verwijder als ik ctrl-end gebruik bijft die op hetzelfde adres uitkomen.

Deze methode past wel goed omdat ik een aantal regels per werknemer heb en na elke werknemer wil ik een lege regel hebben voor het overzicht. Maar suggesties zijn natuurlijk altijd welkom.
 
Janus,

Je kunt deze macro afzonderlijk runnen, of opnemen in je Sorteer-macro of aan het eind van je Sorteer-macro er naar verwijzen.

Sub Rij_Invoegen()
Dim a As Byte
Dim c As Integer
[A1].Select
a = 2
c = 0
While ActiveCell.Value <> ""
c = c + 2
ActiveSheet.Rows(c).Insert Shift:=xlDown
ActiveCell.Offset(a, 0).Select
Wend
End Sub
 
Geachte Luc,

Deze macro werkt wel goed maar lost het eigenlijke probleem nog niet op.
Even het volgende praktijkvoorbeeldje. Vul de range A1:A100 met willekeurige waarden. Met uw macro wordt er overal keurig een regel tussengevoegd. Het onderste veld: A199 wordt ook weergegeven met het commando ctrl-end.
Nu ga ik een waarde toevoegen, welke na sorteren een plaats juiste plaats moet krijgen in de reeks en vervolgens wil ik weer die lege regel. Op het oog staat alles keurig. MAAR kijk eens met ctrl-end, die gaat naar cel A300, bij nog een keer naar A402, vervolgens A503 etc. In eerste instantie merk je hier niets van. Maar bij frequent muteren en dus elke keer lege regels invoegen krijg je opeens de foutmelding dat er niet meer regels ingevoegd kunnen worden. Als je dan ctrl-end gebruik dan gaat die naar regel 66000, tevens het einde van het excel blad.
Ik hoop hiermee het probleem wat duidelijker te hebben gemaakt.
bij voorbaat dank voor de moeite
Janus
 
Janus,

Je verhaal klopt helemaal.

Ik heb wat getest en bij mij werkt de volgende oplossing:

Zet aan het einde van je Sorteer-macro de volgende regel:

ActiveWorkbook.Save


Misschien moet je opnieuw beginnen.
Probeer het eens uit.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan