Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA: Schleife funktioniert nicht
10.05.2016 12:02:46
Hewad
Hallo zusammen,
ich habe ein Problem mit einer Schleife innerhalb der Schleife. Ich habe mehrerer Commandbuttons auf meinem Blatt und möchte, dass die Captions (die Beschreibung der Buttons) von der Liste - von oben nach unten nacheinander - übernommen werden.
Es funktioniert soweit:
1- Im ersten Schritt ermittle ich die ANzahl der Buttons und setze zunächst alle Namen zurück auf leer. funktioniert wunderbar!
2- Dann möchte ich, dass der erste Name auf der Liste aus der entsprechenden Zelle übernommen wird. Das funktioniert auch alles soweit.
Mein Problem ist, dass die Schleife zum nächsten Commandbutton nicht überspringt, sodass der gleiche Button verschiedene Namen von der Liste übernimmt.
Durch die While und Wend Schleife kommt es nicht zum "next P"
Ich würde mich auf jede Hilfe freuen :-)
Vielen Dank im Voraus!

Sub Button_Name()
On Error Resume Next
Dim combut As CommandButton
Dim combut_number As Integer
Dim oleObj_number As Integer
Dim i As Integer
Dim p As Integer
Dim Supname As String
Dim bcontinue As Boolean
combut_number = ActiveSheet.Buttons.Count
Debug.Print varA; combut_number
oleObj_number = ActiveSheet.OLEObjects.Count
Debug.Print varA; oleObj_number
For i = 1 To oleObj_number ' Hier alle Captions gelöscht
combut_Name = ActiveSheet.OLEObjects("CommandButton" & i).Object.Caption
ActiveSheet.OLEObjects("CommandButton" & i).Object.Caption = ""
Next i
For p = 1 To oleObj_number
'erster Treffer auf der Liste in der Zeile 8
i = 8
bcontinue = True
While bcontinue
Supname = ActiveSheet.Cells(i, 2).Value '
If Supname = "" Then
bcontinue = False
Else
For Each v In Array(" / ")
Supname = Replace(Supname, v, " ")
Next
Debug.Print varA; Supname
combut_Name = ActiveSheet.OLEObjects("CommandButton" & p).Object.Caption
Debug.Print varA; combut_Name
If combut_Name = "Get images" Then
Exit Sub
End If
ActiveSheet.OLEObjects("CommandButton" & p).Object.Caption = Supname
i = i + 1
End If
Wend
' hier komme ich leider nicht weiter. ich habe auch versucht next p davor und dahinter zu  _
packen, jedoch leider ohne Erfolg!
Next p
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Schleife funktioniert nicht
10.05.2016 16:50:07
Hewad
hat sich mein Prblem jemand angeschaut? :-)
es ist bestimmt eine Kleinigkeit. Die Reihenfolge der Scheife muss wohl angepasst werden
danke und gruß
hewad

AW: VBA: Schleife funktioniert nicht
10.05.2016 20:34:02
Nepumuk
Hallo,
aus deinem Makro werde ich nicht schlau.
Würde das nicht genügen?
Public Sub Button_Name()
    Dim lngIndex As Long
    With ActiveSheet
        For lngIndex = 1 To .OLEObjects.Count
            .OLEObjects("CommandButton" & lngIndex).Object.Caption = Cells(lngIndex + 7, 2).Text
        Next
    End With
End Sub

Gruß
Nepumuk
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige