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

Extra regels toevoegen via macro

Status
Niet open voor verdere reacties.

Klijhoofd

Gebruiker
Lid geworden
15 mrt 2011
Berichten
39
Hallo,

Ik heb zojuist een skillmatrix gemaakt voor mijn bedrijf. Medewerkers versus vaardigheden met verschillende niveaus. Alles werkt prima, maar ik wil 1 feature toevoegen waarbij leidinggevenden heel makkelijk een regel kunnen toevoegen op het moment dat er een nieuwe medewerker binnenkomt.

Ik heb meerdere ploegen en per ploeg heb ik nu een knop + macro aangemaakt. 1 regel toevoegen werkt prima, maar als ik vaker regels toevoeg bij de verschillende ploegen, dan gaat het mis. Dan doet de macro iets wat ik niet heb ingesteld.

Het heeft denk ik te maken met het feit dat ik celnummers in de macro heb staan waar de macro eigenlijk 4 regels moet toevoegen boven de regels waar de knop staat. Maar hiervoor gaan mijn VBA skills niet ver genoeg om dit te kunnen maken.

Mocht je een andere (simpelere) oplossing hebben door de structuur van het document wat te veranderen, dan is dat ook goed.

Ter illustratie heb ik het document zonder gegevens toegevoegd. De fout treedt bij mij op wanneer ik in volgorde de volgende regels toevoeg:

- Ploeg A
- Ploeg B
- Ploeg A
- Ploeg B << Hier gaat het vervolgens fout. De macro maakt nu een regel inclusief knop met nieuwe regel invoegen (zie screenshot). In onderstaand voorbeeld zou er een regel bij moeten komen onder de 3e regel van B (zie pijl).

1712754605293.png
 

Bijlagen

Hierbij de huidige VBA tekst:

Sub RegelinvoegenA()
'
' RegelinvoegenA Macro
'

'
Rows("18:21").Select
Selection.Copy
Rows("22:22").Select
Selection.Insert Shift:=xlDown
End Sub

Zoals je ziet pakt de macro bepaalde regels mee, maar wat er eigenlijk moet gebeuren is dat er (los van de regelnummers 4 regels bij moeten komen boven de regel waar de knop nu staat. Mijn kennis gaat alleen niet ver genoeg in VBA dat ik dit zelf kan oplossen. Voor een enkelvoudige knop zou deze macro voldoen, maar omdat ik er meerdere onder elkaar heb staan werkt het niet.
 
Emields heeft een eventmacro gemaakt in de werkblad module.

Dit is de code

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [c:c]) Is Nothing Then
Application.EnableEvents = False
a = Target.Row
b = a - 4
c = a - 1
Range(Cells(b, 2), Cells(c, 52)).Copy
Range(Cells(b, 2), Cells(c, 52)).Insert Shift:=xlDown
Application.EnableEvents = True
End If
End Sub

je hebt dan geen knop nodig maar kan dubbelklikken op kolom C op de plek waar je regels wilt invoegen.
 
En dan al die samengevoegde.....Hoe vaak nog?....
VBA en samengevoegde cellen is NOT DONE..
 
ik kan anders niets zeggen als dat het hier wel lukt.
Heel vreemd. Bij min collega werkt het wel, maar bij mij niet meer. Ik had wat geknutseld aan de opmaak van het knopje waar je dubbel op moet klikken. Cellen samengevoegd en grijs gemaakt en daarna werkte het niet meer. Maar zoals gezegd, wel bij mijn collega. Dat is gek toch? Ik heb wel de macro "enabeled", dus dat kan het niet zijn.

In ieder geval heel veel dank voor je oplossing. Dit is precies wat ik zocht.
 
En dan al die samengevoegde.....Hoe vaak nog?....
VBA en samengevoegde cellen is NOT DONE..
Bedankt voor je bijdrage. Het gaat om 10-12 personen per ploeg, dus eenmalig voeg ik zelf (zonder knop) regels toe en als een leidinggevende een nieuwe medewerker krijgt, dan kan hij zelf een nieuwe regel invoegen.

Wat bedoel je met NOT DONE? Waarom is dit not done? En wat zou jouw voorstel zijn hoe het WEL moet? Want het is altijd makkelijk om iemands idee af te fakkelen, maar veel handiger en effectiever om dan met een beter alternatief te komen.

Alvast dank!
 
VBA kan niet omweg met samengevoegde cellen; Is het cel a1 of cel b1 als ze samengevoegd zijn.
 
VBA kan niet omweg met samengevoegde cellen; Is het cel a1 of cel b1 als ze samengevoegd zijn.
Dat is te omzeilen door van elke samengevoegde cel die in de macro aangesproken wordt een benoemd bereik te maken
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan