Thema Datum  Von Nutzer Rating
Antwort
Rot dynamische Tabelle mit checkboxen
25.09.2013 10:28:04 werdi
NotSolved
25.09.2013 12:36:27 Gast6384
NotSolved

Ansicht des Beitrags:
Von:
werdi
Datum:
25.09.2013 10:28:04
Views:
1805
Rating: Antwort:
  Ja
Thema:
dynamische Tabelle mit checkboxen

Hallo liebe Leute,

bin kurz vor der Verzweiflung...

Ich habe eine Tabelle, welche ich per Knopfdruck jeweils um eine Zeile erweitern möchte.

Jede neue Zeile enthält 5 checkboxen, welche mit der darunter liegenden Zelle verlinkt sind.

Das löse ich so, dass einfach die checkboxen von oberhalb kopiert werden.

Die Tabelle soll mittles Autofilter filterbar sein, deshalb sind die checkboxen von Zellposition und -grösse abhängig.

Soweit so gut, das funktioniert mal halbwegs mit folgenden Einschränkungen:

1. Ich bin darauf angewiesen, dass niemand die Anzahl der Checkboxen verändert. Wenn einer selber eine Checkbox einfügt - auch wenn er sie nachher wieder löscht - funktioniert das Makro nicht mehr.

2. Es kam auch schon vor, dass beim Speichern der Datei im gefilterten Zustand die ausgeblendeten Checkboxen nicht mehr eingeblendet werden konnten (waren zwar noch da, aber nur noch zusammengedrückt).

 

Frage: gibt es eine Möglichkeit, die Nummer der zuletzt hinzugefügten Checkbox auszulesen, selbst wenn sie wieder gelöscht wurde? (=höchste Checkboxnummer)

Gibt es eine Möglichkeit, die Grösse der Checkbox sauber zu definieren?

 

Bin schon seit Tagen am probieren und hoffe, dass mich jemand erlösen kann. (Bin nicht grad der Hirsch in VBA...)

 

Ich habe hier mal meinen gebastelten Code...

 

Vielen lieben Dank bereits im Voraus.

Gruss, Werdi

 

Sub Makro1()
'
' Makro1 Makro
'

'
    Dim N As Integer
    
    N = WorksheetFunction.Max(Columns(1))
    
    Application.ScreenUpdating = False
    
    Rows(N + 3).Select
    Selection.Insert Shift:=xlDown
    Range("A" & N + 3).Select
    ActiveCell.FormulaR1C1 = N + 1
    
    
    ActiveSheet.Shapes.Range(Array("Check Box " & (N * 5) - 4)).Select
    Selection.Copy
    Cells(3 + N, 15).Select
    ActiveSheet.Paste
    With Selection
        .Value = xlOff
        .LinkedCell = "O" & N + 3
        .Display3DShading = True
    End With
       
    ActiveSheet.Shapes.Range(Array("Check Box " & (N * 5) - 3)).Select
    Selection.Copy
    Cells(3 + N, 16).Select
    ActiveSheet.Paste
    With Selection
        .Value = xlOff
        .LinkedCell = "P" & N + 3
        .Display3DShading = True
    End With
    
    ActiveSheet.Shapes.Range(Array("Check Box " & (N * 5) - 2)).Select
    Selection.Copy
    Cells(3 + N, 17).Select
    ActiveSheet.Paste
    With Selection
        .Value = xlOff
        .LinkedCell = "Q" & N + 3
        .Display3DShading = True
    End With
    
    ActiveSheet.Shapes.Range(Array("Check Box " & (N * 5) - 1)).Select
    Selection.Copy
    Cells(3 + N, 18).Select
    ActiveSheet.Paste
    With Selection
        .Value = xlOff
        .LinkedCell = "R" & N + 3
        .Display3DShading = True
    End With
    
    ActiveSheet.Shapes.Range(Array("Check Box " & (N * 5))).Select
    Selection.Copy
    Cells(3 + N, 19).Select
    ActiveSheet.Paste
    With Selection
        .Value = xlOff
        .LinkedCell = "S" & N + 3
        .Display3DShading = True
    End With
   
    Range("B" & N + 3).Select
       
    Application.ScreenUpdating = True



End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot dynamische Tabelle mit checkboxen
25.09.2013 10:28:04 werdi
NotSolved
25.09.2013 12:36:27 Gast6384
NotSolved