Anzeige
Archiv - Navigation
1696to1700
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
Label Caption ändern
13.06.2019 12:10:17
Michael
Hallo,
ich habe eine UserForm erstellt und in dieser ein Label, das seine Bezeichnung (Caption) aus einer Zelle bekommt, so weit so gut. Nun soll über einen Button die Bezeichnung eine Zeile weiter gehen, also sozusagen die nächste Zeile einer Datenbank aufrufen. Ich habe es mit einer For - next Schleife probiert, da rattert es aber nur bis zum Ende durch, ohne Zwischenhalt.
Private Sub CommandButton1_Click()
Dim i As Long
letztezeile = Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To letztezeile
i = i + 1
Bezeichnung.Caption = Range("B" & i).Value
Next
'UserForm1.Repaint
End Sub

Ich hoffe es kann mir jemand helfen.
Grüße
Michael

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Label Caption ändern
13.06.2019 12:19:59
Rudi
Hallo,
geht zwar auch eleganter, aber ...
Private Sub CommandButton1_Click()
Dim i As Long
letztezeile = Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To letztezeile
if bezeichnung.Caption=cells(i,2) then
Bezeichnung.Caption = cells(i+1,2).Value
exit for
end if
Next
'UserForm1.Repaint
End Sub
Gruß
Rudi
AW: Label Caption ändern
13.06.2019 12:25:21
Michael
Hallo Rudi,
eleganter ist immer schöner, ich würde ja gerne mehr lernen. Deine Version läuft die Zeilen nicht alle nacheinander ab. Es startet immer wieder nach ca. fünf (mal mehr mal weniger) Klicks neu.
AW: Label Caption ändern
13.06.2019 12:45:05
Michael
Ich habe den Grund für das Springen nach 5 Zeilen gefunden. In der Spalte können die gleichen Namen auftauchen und dann fängt es wieder oben an.
Anzeige
AW: Label Caption ändern
13.06.2019 12:59:02
Werner
Hallo Michael,
oder so:
Private Sub CommandButton1_Click()
Dim loLetzte As Long
loLetzte = Cells(Rows.Count, 2).End(xlUp).Row
If Me.Label1.Tag = loLetzte Then
Me.Label1.Tag = 1
Me.Label1.Caption = Range("B" & Me.Label1.Tag)
Else
Me.Label1.Tag = Me.Label1.Tag + 1
Me.Label1.Caption = Range("B" & Me.Label1.Tag)
End If
End Sub
Wenn der letzte Eintrag erreicht ist, fängt er wieder von vorne an.
Gruß Werner
was vergessen
13.06.2019 14:06:12
Werner
Hallo Michael,
etwas kürzer und vergessen, dass du natürlich im Initialize-Ereignis der Userform den Tag setzen mußt.
Private Sub CommandButton1_Click()
Dim loLetzte As Long
loLetzte = Cells(Rows.Count, 2).End(xlUp).Row
If Me.Label1.Tag = loLetzte Then
Me.Label1.Tag = 1
Else
Me.Label1.Tag = Me.Label1.Tag + 1
End If
Me.Label1.Caption = Range("B" & Me.Label1.Tag)
End Sub
Private Sub UserForm_Initialize()
Me.Label1.Tag = 1
Me.Label1.Caption = Cells(1, 2)
End Sub
Gruß Werner
Anzeige
AW: Label Caption ändern
13.06.2019 12:51:29
Rudi
Hallo,
dann versuch das:
Private Sub CommandButton1_Click()
Dim rng As Range
Set rng = Columns(2).Find(what:=Bezeichnung.Caption, lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then Bezeichnung.Caption = rng.Offset(1)
End Sub
Gruß
Rudi
AW: Label Caption ändern
13.06.2019 15:24:31
Daniel
Hi
mal als Ansatz:
verwende anstelle des Labels eine Listbox und schreibe die Adresse der verknüpften Zelle in die Eigenschaft ROWSOURCE, am besten in der Form 'Tabelle1'!A1
jetzt wird diese Zelle in der Listbox angezeigt.
Wenn du die Listbox etwas umformatierst (SpecialEffects), sieht sie auch aus wie ein Label.
wenn du jetzt eine Zeile tiefer willst, geht das einfach beispielsweise so:
dim Zelle as Range
set Zelle = Range(Listbox1.RowSource).Offset(1, 0)
Listbox1.RowSource = "'" & Zelle.Worksheet.name & "'!" & Zelle.address
Gruß Daniel
Anzeige

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige