Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife für Labels

Schleife für Labels
20.05.2008 09:46:44
Daniel
Hallo,
kann mir sagen warum folgender Code so nicht funktionieren will:

Private Sub Combobox1_change ()
Dim i as Integer
for i = 22 to 36
if combobox1.value = Range("I26").value Then activesheet("Label" & i).caption ="€"
if combobox1.value = Range("I27").value Then activesheet("Label" & i).caption ="$"
if combobox1.value = Range("I28").value Then activesheet("Label" & i).caption ="CNY"
usw.
next
End Sub


Bei Auswahl der entsprechenden Währung aus der Combobox (ListFillRange = I26:I30)
sollen die Labels 22 bis 36 die entsprechende Abkürzung für die Währung enthalten...
Jemand ne Ahnung wieso "Das objekt diese Eigenschaft nicht unterstützt" ?
Gruß Daniel

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife für Labels
20.05.2008 10:06:48
Rudi
Hallo,
...Then activesheet.Controls("Label" & i).caption ="€"
Gruß
Rudi

AW: Schleife für Labels
20.05.2008 10:17:00
Daniel
Hmmm Rudi,
funzt auch nicht, "objekt unterstützt diese Eigenschaft nicht"...
der code sieht dann so aus :

Private Sub Combobox1_change ()
Dim i as Integer
for i = 22 to 36
if combobox1.value = Range("I26").value Then ActiveSheet.Controls("Label" & i).caption ="€"
if combobox1.value = Range("I27").value Then ActiveSheet.Controls("Label" & i).caption ="$"
if combobox1.value = Range("I28").value Then ActiveSheet.Controls("Label" & i).caption ="CNY"
usw.
next
End Sub


Gruß Daniel

Anzeige
AW: Schleife für Labels
20.05.2008 10:12:00
Beverly
Hi Daniel,
die Steuerelemente im Tabellenblatt werden anders angesprochen als die im UserForm. Eine Möglichkeit:

ActiveSheet.OLEObjects("Label" & i).Object.Caption = "€"




AW: Schleife für Labels
20.05.2008 10:20:00
Daniel
Auch das hat nicht gefunzt, der Compiler markiert immer wieder : ... Then Activesheet.OLEObjects("Label" & i).caption = "€" ...
Gruß Daniel

AW: Schleife für Labels
20.05.2008 10:31:29
Caruso
Hallo Daniel
versuch mal

Then Activesheet.OLEObjects("Label" & i).object.caption = "€"


LG
Carlo

Anzeige
AW: Schleife für Labels
20.05.2008 10:34:49
Daniel
Auch da will er nicht...
langsam bin ich echt verwirrt!

AW: Schleife für Labels
20.05.2008 10:32:59
Daniel
Wenn ich jedes label einzeln anspreche gehts:
if combobox1.value = range("I26").value then label22.caption = "€"
usw.
Sobald ich es über eine Schleife lösen will, kommen die beschriebenen Fehlermeldungen vom Compiler...

AW: Schleife für Labels
20.05.2008 10:27:45
Daniel
Hi
weil du 2 Sachen versucht, die nicht funktionieren und auch so keinen Sinn machen:
1. Fehler:
mit "activesheet("Label" & i)" versuchst du aus der Gruppe der ActiveSheets das jenige anzusprechen, daß den Index-Namen "Label22" hat. da es nur genau 1 ActiveSheet geben kann, hat das Activesheet keinen Index
2. Fehler:
das ActiveSheet hat auch keine Caption-Eigenschaft, die gibt es da nicht. Änhlich wie wäre die NAMES-Eigenschaft, aber ich glaube kaum, daß du die Währung auf dem Reiter des Aktiven Sheets zeigen willst.
der korrekte Code zum Ansprechen von Labels (ich vermute einfach mal, daß du das tun willst) wäre:
ActiveSheet.OLEObjects("Label" & i ).Object.Caption = "dein Text"
Gruß Daniel

Anzeige
AW: Schleife für Labels
20.05.2008 10:37:18
Daniel
Also, auch wenn mich deine Aussagen etwas verwirren bleibt das Ergebnis das gleiche, der Compiler markiert alles hinter dem "...Then" gelb !
Gruß Daniel

AW: Schleife für Labels
20.05.2008 10:42:00
Matthias
Hi
also ich hab es gerade mal nachgebaut. Es funzt einwandfrei (in XL2000)
Userbild
evtl solltest Du die Mappe hochladen
Gruß Matthias

AW: Kommando zurück
20.05.2008 10:45:13
Daniel
So, hatte das eine "Object" vegessen, sorry an alle die den Ansatz geschickt haben...
Funzt mit:
if combobox1.value = range ("a1").value then activesheet.oleobjects("label" & i ).object.caption = "..."
Danke allen für die Mithilfe!

Anzeige
AW: Kommando zurück
20.05.2008 11:37:00
Gerd
Hallo zusammen,
( Werte für i noch anpassen)
'Tabellenblatt-Modul
Option Explicit

Private Sub Combobox1_Change()
Dim i As Integer, varWährung as Variant
If Me.ComboBox1.ListIndex > -1 Then
varWährung = Array("€", "$", "CNY")
For i = 1 To 3
Me.OLEObjects("Label" & i).Object.Caption = varWährung(Me.ComboBox1.ListIndex)
Next
End If
End Sub


Gruß Gerd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige