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

als de cel ok bevat verplaatsen naar andere tabblad

Status
Niet open voor verdere reacties.
Leotaxi

Er zijn nog een paar probleempjes bij Uit te voeren acties PC L2 (bij het andere bestand zijn trouwens dezelfde problemen er nog 20150209 - A en B lijst MT PenC maar voor dit bestand is het probleem al opgelost met het bestand van jolivanes)

Als ze worden verplaats zouden ze ook de vakjes mee moeten kopieren in het tabblad Afgeronden Actielijst.
Dit doet hij niet als we verder dan rij 76 komen op tabblad Afgeronden Actielijst

Als ook het niet meer vragen achter opslaan is ook wel een zeer makkelijk iets.

En in het tabblad Uit te voeren Actielijst zouden de vakjes moeten blijven staan tem lijn 40.

Het andere bestand (20150209 - A en B lijst MT PenC C) van post #15 van jolivanes is eigenlijk helemaal zo als het moest zijn.


Dit zouden ik voor het bestand Uit te voeren acties PC L2 ook graag zo willen.:o
 
Hi Davy.
Ik heb geprobeerd het in het nederlands een beetje uit te leggen.
Als je de files verandert is het misschien makkelijker om het vlug zelf even op te lossen.
Kijk er eens naar en als het niet lukt, laat het weten.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim lr As Long, j As Long, i As Long
Application.ScreenUpdating = False

'De laats gebruikte cel in de kolom waar alles ingevuld is (hier kolom H. Kan elke kolom zijn in je gebruikte range
'lr geeft in dit geval de rij aan (nummer)
lr = Cells(Rows.Count, "H").End(xlUp).Row

'Van de laatste gebruikte cel omhoog (Step - 1) tot waar je wilt ophouden. Hier rij 20
For i = lr To 20 Step -1

'Als er in de cell in rij i en kolom 8 (kolom H) "ok" staat dan
If Cells(i, 8).Value = "ok" Then

	'Terug naar links 6 kolommen (Offset(, -6)) en vergroten 7 kolommen (Resize(, 7))
	'Offset gaat tellen van de volgende rij of kolom terwijl Resize begint bij de de rij of kolom waar je in staat
        With Cells(i, 8).Offset(, -6).Resize(, 7)
	    
            'Kopieer en plakken in Ageronde Acties en Besluiten een cel onder de laatst gebruikte cell in kolom B	
            .Copy Sheets("Afgeronde Acties en Besluiten").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0)

            'De inhoud van de rij (Cells(i, 8).Offset(, -6).Resize(, 7)) wissen
            .ClearContents

            'De cells (Cells(i, 8).Offset(, -6).Resize(, 7)) omhoog schuiven
            .Delete Shift:=xlUp
        End With
    End If

'volgende cell (in dit geval omhoog)
Next i

'Borders om alle cellen in B20:H40 zetten
With Sheets("Acties en Besluiten").Range("B20:H40").Borders
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
End With

ThisWorkbook.Save
Application.ScreenUpdating = True
End Sub
 
Davy,

heel raar,

hier gebeurt alles zoals het moet en verdwijnen er geen vakjes, nergens

wat verdwijnt er dan juist ?

mvg
Leo
 
Leotaxi

Het gaat goed zolang je niet meer rijen invult dan rij 13.
Als je in het eerste tabblad al de vakjes invult tem rij 16 dan gaan de invulvelden weg voor alle rijen met een ok.
Dit bij het terug openen van het bestand.
 
jolivanes

Bedankt voor het in het nederlands erbij te vertalen.
Zo kan ik het zelf eens proberen te analyseren .

Wat bedoel je juist met dit stukje
"'lr geeft in dit geval de rij aan (nummer)"
Welke rij nummer geeft dit dan aan ?:o

Het bestandje dat je nog gemaakt hebt ook heb ik ook nog eens geprobeerd en dit doet wat het moet doen .
Enkel een ding gaat nog niet hoe het zou moeten en dat is in het eerste tabblad in kolom d tem g moeten de cellen samengevoegd en gecenterd zijn.

Ik kan dit aanpassen en dan terug opslaan en dan blijven ze staan behalve rij 16 , en als ik alle rijen had ingevuld met een ok dan krijg ik terug alle cellen apart te zien in eerste tabblad van kolom d tem g.
 
lr, kort voor laatste rij, is de laatst gebruikte cell in een bepaalde kolom.

Code:
lr = Sheets("Uit te voeren Actielijst").Cells(Rows.Count, "D").End(xlUp).Row
Hier is het de laatst gebruikte cell in blad "Uit te voeren Actielijst" in Kolom D

Hopelijk is dat duidelijker.

Enkel een ding gaat nog niet hoe het zou moeten en dat is in het eerste tabblad in kolom d tem g moeten de cellen samengevoegd en gecenterd zijn.
Wil je dat in de code doen?
 
jolivanes

Ja nu begrijp ik dat stukje bedankt :thumb:

En ja zou via de code moeten gebeuren.
Nu wordt elke keer de vakjes van kolom d tem g terug apart gezet.
Dit zou steeds moeten blijven samengevoegd en gecenterd zodat dit 1 invulveld blijft en dat niet steeds gewijzigd dient te worden.
 
jolivanes


Dit is eigenlijk wat het zou moeten zijn maar dan wel met de rijen d tem g die blijven (samenvoegen en centeren).

Er is een andere bestand waar de gegevens die in dit bestand komen te staan worden uit gekopieerd en geplakt.
En daar moeten de cellen zo blijven omdat het anders niet meer uitkomt dat bestand.
 
Dag Davy,

kheb het gezien, had slechts testen met een paar lijnen gedaan.

deze zet telkens 45 lijnen om in te voeren terug :)




mvg
Leo
 

Bijlagen

Leotax

Dit is hem helemaal :thumb:

Alle 2 1000 maal dank voor al jullie hulp en tijd die je mij gegeven hebt.

Top mensen hier op het forum.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan