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

VBA uitvoeren in de laatste rij

Status
Niet open voor verdere reacties.

Scallebe

Gebruiker
Lid geworden
29 okt 2014
Berichten
535
Beste ontwikkelaars

In de onderstaande code laat ik excel een lijn invoeren. Eerst moet de cel A? geselecteerd worden en dan zal de lijn ingevoerd worden boven de geselecteerde cel.

Deze lijn bepaald dus waar de VBA opstart.

PHP:
Rows(ActiveCell.Row).Copy

Hoe kan ik er voor zorgen dat altijd de A-cel van de laatste rij geselecteerd wordt zodanig dat de gebruiker niet eerst een cel moet selecteren? (Soms wordt er een rij ingevoegt op de verkeerde plaats omdat ze niet eerst de cel hebben aangeklikt waar de rij moet ingevoegd worden.



PHP:
Private Sub CommandButton22_Click()
    
    Rows(ActiveCell.Row).Copy
    Rows(ActiveCell.Row).Insert Shift:=xlDown
    Application.CutCopyMode = False
    For x = 1 To 50
    If Not Cells(ActiveCell.Row, x).HasFormula Then
        Cells(ActiveCell.Row, x).ClearContents
    End If
    Next x
        Cells(ActiveCell.Row, 3) = "-- Hoedanigheid --"
        Cells(ActiveCell.Row, 5) = "-- Status --"
        Cells(ActiveCell.Row, 17) = "-- Code --"

End Sub


Alvast bedankt

Pascal
 
Laatst bewerkt:
zo?

Code:
Cells(ActiveCell.Row,1)
 
Ik zou voor deze kiezen:
Code:
Private Sub CommandButton21_Click()
lastr = Range("C" & Rows.Count).End(xlUp).Row
    Rows(lastr).Insert Shift:=xlDown
    Application.CutCopyMode = False
    For x = 1 To 50
    If Not Cells(lastr, x).HasFormula Then
        Cells(lastr, x).ClearContents
    End If
    Next x
        Cells(lastr, 3) = "-- Hoedanigheid --"
        Cells(lastr, 5) = "-- Status --"
        Cells(lastr, 17) = "-- Code --"
End Sub
 
Haije,

Moet ik uw code ergens bijplaatsen of een lijn vervangen met uw code?

Pascal
 
Cobbe,

Met mijn originele code deed Excel een copy - Insert Copied Cells van de rij waar ik de cel A geselecteerd had. Op die manier komen mijn formules ook mee naar boven.

Dit werkt overal waar ik een A cel selecteer, hij selecteerd de hele lijn - doet : Copy - doet : Inserst Copied Cells.


De code die je meegegeven hebt gaat inderdaad naar de laatse rij :thumb:, voegt een rij in maar de formules worden niet meegenomen. :(

Ik denk dat hij slechts een rij invoegt en niet een Insert Copied Cells doet. (?) In ieder gaval de formules komen niet mee en die zouden uiteraard wel moeten blijven.

Thanks

Pascal
 
Code:
Rows(lastr).Copy

Deze regel is er tussenuit gevallen.
Code:
Private Sub CommandButton21_Click()
lastr = Range("C" & Rows.Count).End(xlUp).Row
    [COLOR="#FF0000"]Rows(lastr).Copy[/COLOR]
    Rows(lastr).Insert Shift:=xlDown
    Application.CutCopyMode = False
    For x = 1 To 50
    If Not Cells(lastr, x).HasFormula Then
        Cells(lastr, x).ClearContents
    End If
    Next x
        Cells(lastr, 3) = "-- Hoedanigheid --"
        Cells(lastr, 5) = "-- Status --"
        Cells(lastr, 17) = "-- Code --"
End Sub
 
Cobbe,

Het werkt perfect.

Bedankt. :thumb:

Er is nog een vraagje actief van mij. Als je even de tijd vind om te kijken. (Verschillende sheets samenvatten naar 1 sheet)

Ik ben al goed op weg geholpen door VenA. :thumb: De VBA maakt de samenvatting van al mijn sheets. maar hij verwijdert mijn onderste 9 rijen met diverse formules voor de totalen. :confused:


En de baas moet totalen hebben he...

Alvast bedant

Greetz

Pascal
 
Haije,

Moet ik uw code ergens bijplaatsen of een lijn vervangen met uw code?

Pascal

ik neem aan dat je verder gaar met de oplossing van @Cobbe
 
Haije,

Cobbe zijn manier werkt perfect.

Ik wil jouw oplossing zeker ook eens proberen, ik kan er alleen maar van leren.

Ik moet enkel weten waar ik jouw code moet plaatsen of welke code ik moet vervangen want dat was niet zo duidelijk.

Groetjes

Pascal
 
Nog een praktische vraag,

Ik heb voor elke sheet een button die bovenstaande code doet werken.

6 sheets met telkens de button met telkens de zelfde code.

Kan ik de code niet beter in Thisworkbook plaatsen en elke button naar die code laten verwijzen of moet dit op elke sheet apart?

Thanks

Pascal
 
mijn code geeft alleen aan de eerste kolom van de actieve regel.
Als je staat op regel 1526, dan selecteert
Code:
Cells(ActiveCell.Row,1).Select
cel A1526
 
Je kan de code in een module zetten maar dan moet je deze laten verwijzen naar de activesheet:

Code:
Sub rij_toevoegen()
With ActiveSheet
lastr = .Range("C" & .Rows.Count).End(xlUp).Row
    .Rows(lastr).Copy
    .Rows(lastr).Insert Shift:=xlDown
      Application.CutCopyMode = False
       For x = 1 To 50
        If Not .Cells(lastr, x).HasFormula Then
         .Cells(lastr, x).ClearContents
        End If
       Next x
        .Cells(lastr, 3) = "-- Hoedanigheid --"
        .Cells(lastr, 5) = "-- Status --"
        .Cells(lastr, 17) = "-- Code --"
 End With
End Sub
 
Ok

Ik kan de code volgen.


Met de code van Cobbe speelt het geen rol in welke cel ik sta, hij gaat automatisch naar de laatste rij en doet zijn werk.

Toch bedankt.

Greetz
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan