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

Besturingselement verschuiven en toevoegen bij invoegen regel in tabel

Status
Niet open voor verdere reacties.

Tjoptjop333

Gebruiker
Lid geworden
2 aug 2017
Berichten
29
Goede middag,

Ik heb in een bestand, tekeningenlijst het e.e.a. reeds middels keuze menu's ingevoerd in een tabel.

Nu wil ik graag de volgende opties nog toevoegen:
1. Bij het invoegen van een nieuwe regel (rechtermuisknop, invoegen), op de nieuwe regel het besturingselement "selectievakje" automatisch in kolom S (dwg).
2. Bij het invoegen van een nieuwe regel, de selectievakjes van de onderliggende regels, omlaag meeverhuisd en bij de betreffende regel blijft.
3. Bij het sorteren (werkt momenteel door op "Tekeningnummer"te klikken) het besturingselement "selectievakje" van de betreffende informatie meeverhuisd. Momenteel blijft het selectievakje op de regel waar hij is ingevoegd, terwijl de rest van de informatie gesorteerd wordt.

Ik ben reeds met diverse macro's aan de gang gegaan, echter het biedt niet het gewenste resultaat.... Hopelijk dat iemand mij de juiste code kan geven of op weg kan helpen.

Het bestand: Bekijk bijlage 303 Tekeningenlijst - TEST.xlsm

Groet Michèl
 
Laatst bewerkt:
Ik ben inmiddels iets verder en heb een knop gemaakt en de volgende code toegevoegd
Code:
Sub Knop10_Klikken()
    Rows("8:8").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    ActiveSheet.CheckBoxes.Add(1280.25, 104, 24, 17.25).Select
    Selection.Characters.Text = ""
    Range("H8").Select
End Sub

Er wordt een rij toegevoegd met een selectievinkje :), echter bij het nogmaals indrukken van de knop, wordt er weer een rij toegevoegd, verschuift het selectievinkje niet naar de volgende regel, maar wordt er een nieuw selectievinkje over de andere heen geplaatst. Dit is net niet de bedoeling :S... Wie kan me in de code iets helpen zodat dit correct gaat?
 
Laatst bewerkt:
deze regel
Code:
ActiveSheet.CheckBoxes.Add(1280.25, 104, 24, 17.25).Select
zorgt er voor dat het selectievinkje op de zelfde plaats komt.

1280.25 en 104 zijn de parameters die de locatie bepalen.

Code:
x = 150
y = 24
ActiveSheet.CheckBoxes.Add(x, y, 24, 17.25).Select
 
Laatst bewerkt:
Dank voor je reactie,

Met de plaatsbepaling was ik ook reeds aan het stoeien geweest. Verschillende manieren reeds geprobeerd. Als ik

Code:
ActiveSheet.CheckBoxes.Add(1280.25, 104  + 10, 24, 17.25).Select

invoer dan werkt het wel, echter komt het vinkje niet op de juiste positie, maar op de regel er onder. Doe ik dan nog een keer een regel invoegen werkt het prima, gaat de onderste verder naar beneden. Maar dit wil ik graag werkend krijgen op de ingevoegde regel... Heb al verschillende (voor mij logische) benamingen en codes hiertoe gegeven, maar krijg niet het gewenste resultaat...
 
Je moet de rijhoogte iets vergroten, anders is het besturingselement groter dan de rij, en dan wil het niet mee sorteren.
In de code heb ik de rijhoogte gezet op 25.

Test het zo maar eens.
Code:
Sub hsv()
 With ActiveSheet.ListObjects(ActiveCell.ListObject.Name)
   .Range.RowHeight = 25
   .ListRows.Add (ActiveCell.Row - .HeaderRowRange.Row)
     Set c = .Parent.Cells(ActiveCell.Row, 1).Offset(, 18)
       With .Parent.CheckBoxes.Add(c.Left, c.Top, 24, 17.25)
         .Text = ""
         .Placement = 1
        End With
 End With
End Sub
 
Beste Harry,

Dank voor je uitleg en code. Ik heb het getest en nog een kleine aanvulling gedaan, de rijhoogte weer terug gezet naar 15 na de invoeging.
Code:
Sub hsv()
 With ActiveSheet.ListObjects(ActiveCell.ListObject.Name)
   .Range.RowHeight = 25
   .ListRows.Add (ActiveCell.Row - .HeaderRowRange.Row)
     Set c = .Parent.Cells(ActiveCell.Row, 1).Offset(, 18)
       With .Parent.CheckBoxes.Add(c.Left, c.Top, 24, 17.25)
         .Text = ""
         .Placement = 1
        End With
     .Range.RowHeight = 15
 End With
End Sub
[/

Echter, na het invoegen van extra rijen (en invullen van diverse gegevens) wil ik dat bij het sorteren, de aanvinkhokjes met de betreffende rij/informatie mee sorteert. Dat gebeurt nu niet.. Heb je ook hier toevallig een oplossing voor?
 
Echter, na het invoegen van extra rijen (en invullen van diverse gegevens) wil ik dat bij het sorteren, de aanvinkhokjes met de betreffende rij/informatie mee sorteert. Dat gebeurt nu niet.. Heb je ook hier toevallig een oplossing voor?

Ik zie het al, werkt volgens het zelfde principe, ook de rijhoogte 25 aanhouden voor te sorteren :)
 
Ik zie het al, werkt volgens het zelfde principe, ook de rijhoogte 25 aanhouden voor te sorteren :)

echter te snel bedacht dat ik de oplossing had door onderstaande code...

Code:
Sub Tekeningnummer()
  With ActiveSheet.Sort
    .Range.RowHeight = 25
    .SortFields.Clear
    .SortFields.Add Range("H8")
    .SortFields.Add Range("E8")
    .SortFields.Add Range("C8")
    .SortFields.Add Range("G8")
    .SetRange Range("A8:X" & Cells(Rows.Count, 8).End(xlUp).Row)
    .Header = xlNo
    .Apply
    .Range.RowHeight = 15
  End With
End Sub
Maar dit werkt niet helaas... Iemand een oplossing?
 
Hier wordt er op kolom K gesorteerd.
Code:
Sub Tekeningnummer()
 With ActiveSheet.ListObjects(1)
    .Range.RowHeight = 25
    .DataBodyRange.Sort Cells(1, 11), 1, , , , , , 1
    .Range.RowHeight = 15
  End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan