Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MultiPage
BildScreenshot zu MultiPage MultiPage-Seite mit Beispielarbeitsmappe aufrufen

Labels in einer UF löschen


Betrifft: Labels in einer UF löschen von: Herbert Grom
Geschrieben am: 26.07.2018 17:37:51

Hallo,

mit dem nachfolgenden Code erstelle ich zur Laufzeit in einer MultiPage einer UF eine Liste mit Labels. Da ich in der UF, auf einer anderen Seite, u. a. auch vorh. Artikel löschen kann, möchte ich die aufgelisteten Labels auf dieser Seite, während der Laufzeit, wieder löschen können, um sie anschließend wieder neu aufzubauen, da dann ja ein oder mehrere Artikel weniger aufgelistet werden müssen. Wenn ich jetzt einen Artikel lösche, bleibt mir auf dieser Seite der letzte Artikel immer doppelt aufgelistet, weil ich die vorige Auflistung nicht entfernt habe. Wie kann ich die vorherige Auflistung löschen?

Vielen Dank im Voraus

Servus

With Tab2_ArtikelListe
For iCount = 1 To 25
Set sTb = MultiPage1.Pages(3).Controls.Add("Forms.Label.1", "lbl_Artikel" & iCount)
Controls("lbl_Artikel" & iCount).Caption = .Range("A" & iCount + 1).Value
Controls("lbl_Artikel" & iCount).ZOrder (0)
Next iCount
End With

  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 17:58:29

Hallo,

im Prinzip so:

Option Explicit

Public Sub test()
   Dim lngIndex As Long
   For lngIndex = 0 To MultiPage1.Pages(3).Controls.Count - 1
       If TypeOf Controls(lngIndex) Is MSForms.Label Then _
          Call Controls.Remove(lngIndex)
   Next
End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 18:03:55

Hallo,

ach ja übrigens, hast nur die Labels auf der Page, dann einfach so... ;-)

Option Explicit

Public Sub test()
   Call Controls.Clear
End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 18:05:51

Hallo nochmal,

uups so einfach doch nich, muß die Hitze sein...;-)

Option Explicit

Public Sub test()
   Call MultiPage1.Pages(3).Controls.Clear
End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Herbert Grom
Geschrieben am: 26.07.2018 18:10:48

Hallo,

vielen Dank für Deine Hilfe. Doch wenn ich mich nicht irre, ruft man mit "Call..." eine andere Routine auf. Doch hast Du mir keine weitere Routine mitgegeben. Jedenfalls steigt er bei mir bei beiden Varianten aus. Oder habe ich da was übersehen?

Servus


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 18:15:49

Hallo,

nein mit der Call-Anw. ruft man generell Methoden auf, auch Application-eigene...

Da sind ja nur Bsp.-Schnipsel, pack die Inhalte der Test-Subs z.B. in einen CommandButton auf Deiner zweiten Page...

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Herbert Grom
Geschrieben am: 26.07.2018 18:23:44

Hallo,

ich will das er alle vorh. Labels beim erneuten Aufruf der Page3 löscht und anschließend die aktuellen wieder einfügt. Das Einfügen ist klar. nur das löschen nicht.

Fehlermeldung: Laufzeitfehler 444: Steuerelemente können nicht gelöscht werden. Diese Methode kann in diesem Zusammenhang nicht verwendet werden.

Servus


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 18:37:24

Hallo,

Fehlermeldung: Laufzeitfehler 444: Steuerelemente können nicht gelöscht werden. 
Diese Methode kann in diesem Zusammenhang nicht verwendet werden.

ah ja dann hast Du da auch Labels drin, die nicht zu Laufzeit erstellt wurden, dann muß Du anders proggen:
Option Explicit

Public Sub test()
   Const LAB_NAME As String = "lbl_Artikel"
   Dim lngIndex As Long
   With MultiPage1.Pages(3)
        For lngIndex = 0 To .Controls.Count - 1
            If TypeOf .Controls(lngIndex) Is MSForms.Label Then _
               If Left$(String:=.Controls(lngIndex).Name, Length:=Len(LAB_NAME)) = LAB_NAME Then _
                        Call .Controls.Remove(lngIndex)
        Next
   End With
End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

....Das ganze dann ins Aktivierungs-Event der Page....

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 18:19:22

Hallo,

Jedenfalls steigt er bei mir bei beiden Varianten aus.

...wenn's immmer noch nicht klappt, was genau heißt das ?? ... Fehlermeldung, Fehlernr., Fehlerbeschr. wären da hilfreich...

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 18:25:03

Hallo,

im ersten Bsp. hat ich einen Fehler drin, war falsch referenziert, argh...

Option Explicit

Public Sub test()
   Dim lngIndex As Long
   With MultiPage1.Pages(3)
        For lngIndex = 0 To .Controls.Count - 1
            If TypeOf .Controls(lngIndex) Is MSForms.Label Then _
               Call .Controls.Remove(lngIndex)
        Next
   End With
End Sub




VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Herbert Grom
Geschrieben am: 26.07.2018 18:27:25

Sorry, aber auch hier kommt wieder die gleiche Fehlermeldung.


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 18:38:42

Hallo,

yup, siehe oben in den Threads...

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Nepumuk
Geschrieben am: 26.07.2018 18:43:22

Hallo Herbert,

ein Beispiel:

Option Explicit

Private Sub UserForm_Click()
    Dim iCount As Long
    For iCount = 1 To 25
        Call MultiPage1.Pages(3).Controls.Remove("lbl_Artikel" & iCount)
    Next
End Sub

Private Sub UserForm_Initialize()
    Dim iCount As Long
    Dim sTb As MSForms.Label
    For iCount = 1 To 25
        Set sTb = MultiPage1.Pages(3).Controls.Add("Forms.Label.1", "lbl_Artikel" & iCount)
        With sTb
            .Caption = Tab2_ArtikelListe.Range("A" & iCount + 1).Value
            Call .ZOrder(0)
        End With
    Next
End Sub

Gruß
Nepumuk


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 18:51:11

Hallo Nepumuk,

top!, argh ja klar man kann ja auch mit dem Namen 'removen', ich glaub bei der Hitze mach ich heut nix mehr....:-(

Gruß, Mullit


  

Betrifft: AW: Labels in einer UF löschen von: Herbert Grom
Geschrieben am: 26.07.2018 18:54:14

Hallo Nepumuk,

vielen Dank für Deine LÖSUNG!!! Ich habe die "...click"-Variante probiert und sie hat auf Anhieb geklappt! Die Zweite habe ich dann gar nicht mehr getestet. Aber ich denke, sie hätte auch gefunzt! Nochmals vielen Dank!

@Mullit: Trotzdem vielen Dank und nun haben wir beide etwas gelernt! Ist doch prima!

Servus


  

Betrifft: AW: Labels in einer UF löschen von: Mullit
Geschrieben am: 26.07.2018 19:09:07

Hallo Herbert,

@Mullit: Trotzdem vielen Dank und nun haben wir beide etwas gelernt! Ist doch prima!

stimmt, da hast Du sicher recht, aber die Tragik ist, eigentlich wußt ich das schon vorher, aber das glaubt einem hinterher eh niemand.., wie das immer so ist mit eigentlich...;-)

Aber Nepumuks Lösungen sind sowieso immer auf den Punkt...top..!

Gruß, Mullit


Beiträge aus dem Excel-Forum zum Thema "Labels in einer UF löschen"