Thema Datum  Von Nutzer Rating
Antwort
11.04.2014 14:00:46 Corina
NotSolved
11.04.2014 14:57:30 Gast36725
NotSolved
11.04.2014 14:58:54 Gast78700
NotSolved
11.04.2014 15:23:25 Corina
NotSolved
Rot Automatische Checkboxnamen generieren
11.04.2014 18:40:04 Gast68670
*****
NotSolved
14.04.2014 09:04:07 Corina
NotSolved
14.04.2014 12:36:54 Gast4466
NotSolved
14.04.2014 12:58:08 Gast89452
NotSolved
14.04.2014 14:14:59 Corina
NotSolved
14.04.2014 14:31:45 Gast59826
*****
Solved
14.04.2014 16:16:48 Corina
NotSolved
14.04.2014 16:46:26 Gast59943
NotSolved
15.04.2014 08:42:10 Gast96490
NotSolved

Ansicht des Beitrags:
Von:
Gast68670
Datum:
11.04.2014 18:40:04
Views:
872
Rating: Antwort:
  Ja
Thema:
Automatische Checkboxnamen generieren

Wenn es wirklich um die Namen geht, dann rate ich gleich schon mal davon ab. Die müssen nämlich einzigartig sein. Sobald also ein Name gesetzt wird, der schon vergeben ist, dann knirscht es (idR. in Form eines Laufzeitfehlers).

Wenn es nur um die Bezeichnungen geht, dann hier 2 Beispiele (je nachdem was du für eine Art von CheckBox verwendest):

Option Explicit

'wenn die Checkboxen >ActiveX-Steuerelemente< sind
Sub test_ole()
  
  Dim names() As Variant
  Dim ole As OLEObject
  Dim i As Long
  
  'Namen können auch aus einer Range kommen
  names = Array("Beschriftung-01", "Beschriftung-02", "Beschriftung-03")
  
  With Worksheets(1)
    
    For Each ole In .OLEObjects
      If TypeName(ole.Object) = "CheckBox" Then
        If i <= UBound(names) Then
          Debug.Print Format$(i + 1, "00") & ": " & ole.Object.Caption & " => " & names(i)
          ole.Object.Caption = names(i)
          i = i + 1
        Else
          Exit For 'exit da keine Namen mehr übrig
        End If
      End If
    Next
    
    If i > 0 Then
      Call MsgBox("Fertig", vbInformation)
    Else
      Call MsgBox("keine Treffer", vbInformation)
    End If
    
  End With
  
End Sub

'wenn die Checkboxen >Formularsteuerelemente< sind
Sub test_formular()
  
  Dim names() As Variant
  Dim shp As Excel.Shape
  Dim i As Long
  
  'Namen können auch aus einer Range kommen
  names = Array("Beschriftung-01", "Beschriftung-02", "Beschriftung-03")
  
  With Worksheets(1)
    
    For Each shp In .Shapes
      If shp.Type = msoFormControl Then
        If shp.FormControlType = xlCheckBox Then
          If i <= UBound(names) Then
            Debug.Print Format$(i + 1, "00") & ": " & shp.OLEFormat.Object.Caption & " => " & names(i)
            shp.OLEFormat.Object.Caption = names(i)
            i = i + 1
          Else
            Exit For 'exit da keine Namen mehr übrig
          End If
        End If
      End If
    Next
    
    If i > 0 Then
      Call MsgBox("Fertig", vbInformation)
    Else
      Call MsgBox("keine Treffer", vbInformation)
    End If
    
  End With
  
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
11.04.2014 14:00:46 Corina
NotSolved
11.04.2014 14:57:30 Gast36725
NotSolved
11.04.2014 14:58:54 Gast78700
NotSolved
11.04.2014 15:23:25 Corina
NotSolved
Rot Automatische Checkboxnamen generieren
11.04.2014 18:40:04 Gast68670
*****
NotSolved
14.04.2014 09:04:07 Corina
NotSolved
14.04.2014 12:36:54 Gast4466
NotSolved
14.04.2014 12:58:08 Gast89452
NotSolved
14.04.2014 14:14:59 Corina
NotSolved
14.04.2014 14:31:45 Gast59826
*****
Solved
14.04.2014 16:16:48 Corina
NotSolved
14.04.2014 16:46:26 Gast59943
NotSolved
15.04.2014 08:42:10 Gast96490
NotSolved