Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

 [Excel 2002] Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 00:06 Nach oben

Hallo

Diese Anweisung bringt mich im Moment zur Verzweiflung!
Wer kann helfen?

Private Sub Worksheet_Activate()
Sheets("ProvKlient(2)").Range("AA23").Value = x
ComboBox2.ListFillRange = Sheets(x).Range("I2:I1000")
End Sub

In Zelle AA23 steht der Tabellenblattname, welchen ich für die Anweisung der ComboBox brauche.
Beim Debuggen - Einzelschritt wird mit ständig 0 als Inhalt dieser Zelle angezeigt
Weiß nicht, ob ich zudem unbedingt die Anweisung mit:
Sheets("ProvKlient(2)"
beginnen muß, da die Anweisung im aktuell geöffneten Blatt ausgeführt wird.

Mit "Active Worksheet" gibt's Probleme

Kann man vielleicht die Anweisung auch direkt in "Eigenschaften" der ComboBox "ListFillRange" so einfügen, dass Zelle "AA23"-Inhalt als Seite angenommen wird?

Etwa so:("'"&$AA23&"'!I2:I1000")

Gruß Timi und vielen Dank vorab!
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 08.06.2008, 01:37 Nach oben

Hallo!

Ist die erste Zeile nicht verkehrtherum?
Müsste es nicht so heißen?

x = Sheets("ProvKlient(2)").Range("AA23").Value

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 12:42 Nach oben

Kann es an dieser Kleinigkeit liegen?

Es handelt sich doch im Prinzip um eine Gleichung!
Probiere es aus!

Gruß Timi
Benutzer-Profile anzeigenPrivate Nachricht senden
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 12:49 Nach oben

Hab' dies jetzt im Worksheet stehen, und es klappt immer noch nicht!

Private Sub Worksheet_Activate()
x = Sheets("ProvKlient(2)").Range("AA23").Value
ComboBox2.ListFillRange = Sheets(x)("I2:I1000")
End Sub

Hast Du 'ne weitere Idee?
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 08.06.2008, 13:08 Nach oben

Hallo!

Probier mal sowas:

Private Sub Worksheet_Activate()
Dim i As Integer
ComboBox2.Clear
x = Sheets("ProvKlient(2)").Range("AA23").Value
For i = 2 To 1000
ComboBox2.AddItem Sheets(x).Cells(i, 9)
Next i
End Sub

PS: Die Reihenfolge einer Zuweisung ist entscheidend!
Natürlich hast du recht, wenn du sagst "es handelt sich doch im Prinzip um eine Gleichung".
Aber: Schau mal dieses Beispiel

Sub test1()
Dim x, y
x = 10
y = 20
'Diese Anweisung weist x den Wert von y zu:
x = y
'Nun haben beide den Wert 20
End Sub

Sub test2()
Dim x, y
x = 10
y = 20
'Diese Anweisung weist y den Wert von x zu:
y = x
'Nun haben beide den Wert 10
End Sub

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 17:28 Nach oben

Hallo!

"Probier mal sowas:" funzt auch nicht!

Private Sub Worksheet_Activate()
Dim i As Integer
ComboBox2.Clear
x = Sheets("ProvKlient(2)").Range("AA23").Value
For i = 2 To 1000
ComboBox2.AddItem Sheets(x).Cells(i, 9)
Next i
End Sub

Dumme Frage:
Muß ich diese ComboBox für diese Funktion freischalten?
Sie zeigt in keinsterweise Reaktion. Auch wenn ich die Tabellenseite als Bezug in den Eigenschaften direkt eingebe um zu testen:

Bsp.
2008-001!$I$2:$I$1000

wird sie nicht angenommen und gleich wieder gelöscht!

Gruß Timi
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 08.06.2008, 17:37 Nach oben

Hallo!
Zitat:
"Probier mal sowas:" funzt auch nicht!

Bei mir schon...


combo.xls
 Beschreibung:

Download
 Dateiname:  combo.xls
 Dateigröße:  29 KB
 Heruntergeladen:  14 mal


_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 18:10 Nach oben

Hallo,

bitte tue mir mal den Gefallen und benenne " Tabelle4 + Tabelle2 " um in " 2008-001 + 2008-002 ", und versuche dann mal, die ComboBox zu füllen.
Ich glaube, dass liegt an den Zahlen?
Vielleicht will "ListFillRange" keine Zahlen am Anfang stehen haben? So wie hier:

2008-001!$I$2:$I$1000. Sondern Buchstaben?

Diese Eingabe verweigert die ComboBox selbst dann, wenn ich sie zu Testzwecken in den Eigenschaften befülle! Wenn vorne keine Zahl steht, sondern ein Tabellenblatt mit Buchstaben, geht es komischerweise!


Kommt mir fast so vor!

Gruß Timi
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 08.06.2008, 18:14 Nach oben

Hallo!
Zitat:
bitte tue mir mal den Gefallen und benenne " Tabelle4 + Tabelle2 " um in " 2008-001 + 2008-002 ", und versuche dann mal, die ComboBox zu füllen.

Hab' ich gemacht und es funktioniert genauso gut...

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 18:23 Nach oben

Hallo,

hab' ich Sch....... an den Fingern?? ( Schmierseife)

Alles genauso, wie bei Deinem Beispiel!

Erhalte Laufzeitfehler9
Index außerhalb des gültigen Bereichs
zudem im Debugger x=leer

Ich weiß, der Computer ist so dumm, wie sein Benutzer! Aber hier bin ich am verzweifeln!

Gruß Timi
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 08.06.2008, 18:33 Nach oben

Hallo!

Handelt es sich wirklich um die Zelle AA23?
Steht auch wirklich "2008-001" in der Zelle, oder sieht es durch ein spezielles Zahlenformat nur so aus?
Versuch mal ".Value" durch ".Text" zu ersetzen.

Sonst bin ich ratlos...

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 18:50 Nach oben

Hallo,

ZelleAA23 bildet sich hieraus :=LINKS(AA24;8). Diese Formel steht in Zelle AA23.
Sie macht aus: 2008-001, Name, Wohnort das Ergebnis: "2008-001", welches auch der Tabellenblattname ist.
Formatiert ist diese Zelle als Text.
Zahl usw. schon ausprobiert! geht dann auch nicht!
Hab' Deine Formel auch schon angepasst, da sie ja im aktuellen Tabellenblatt steht:

Option Explicit
Private Sub Worksheet_Activate()
Dim i As Integer, x
ComboBox2.Clear
x = Range("AA23").Value ' hier angepasst
For i = 2 To 1000
ComboBox2.AddItem Sheets(x).Cells(i, 9)
Next i
End Sub

Bei Deiner Combo funzt es! Auch nach der Umbennung!
Benutzer-Profile anzeigenPrivate Nachricht senden
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 19:10 Nach oben

Neue Erkenntnis!!!!

Aufbau meiner Seite:

In ComboBox1 stehen die Kundennummern, welche auch gleichzeitig die Tabellenblattnamen sind zusammen mit Name des Kunden und Wohnort!

Bsp.: 2008-001 - Fritz Muster - Musterstadt

Dieser Ihalt wird in AA24 übertragen!
AA23 macht mittels =LINKS(AA24;8) einfach den Tabellenblattnamen/Kundennummer daraus.

ComboBox2 braucht diesen Tabellenblattnamen um in dieser Tabelle nach der Spalte I2:I1000 Ausschau zu halten.
Daher diese Anweisung.

Jetzt habe ich festgestellt, dass wenn ich ComboBox1 einen anderen Kunden auswähle, sich zwar AA23 verändert aber nicht die Zuweisung in ComboBox2.
Diese ändert sich erst, nachdem ich das aktuelle Blatt schließe und wieder öffne!
Gruß Timi
Benutzer-Profile anzeigenPrivate Nachricht senden
schatzi
Moderator
Moderator


Anmeldedatum: 09.12.2006
Beiträge: 5725

BeitragVerfasst am: 08.06.2008, 19:14 Nach oben

Hallo!

Das hast du Excel auch ausdrücklich so befohlen!
Zitat:
Private Sub Worksheet_Activate()

Versuch's doch mal mit einem Worksheet_Change- oder Worksheet_Calculate-Ereignis.

_________________

Viele Grüße vom Schatzi

------------------------
Ich bin nur noch sporadisch erreichbar!
Bitte hofft nicht auf eine schnelle Beantwortung einer Rückfrage meinerseits!
Jeder andere Helfer darf Rückfragen gerne übernehmen!
Benutzer-Profile anzeigenPrivate Nachricht senden
timi
User mit gefährlichem Halbwissen
User mit gefährlichem Halbwissen


Anmeldedatum: 12.03.2008
Beiträge: 105
Wohnort: 67742 Lauterecken

BeitragVerfasst am: 08.06.2008, 19:25 Nach oben

Razz Ich könnt' Dich drücken!

Mit dieser Anweisung klappt's!

Private Sub Worksheet_Calculate()
Dim i As Integer, x
ComboBox1.Clear
x = Range("AA23").Text
For i = 3 To 1000
ComboBox1.AddItem Sheets(x).Cells(i, 9)
Next i
End Sub

Man merkt direkt, dass die ComboBox2 nach Änderung der ComboBox1-Auswahl sich neu berechnet ( kurzes Abhacken )
Danach steht das gewünschte Ergebnis drin!

Einfach genial! Vieeeeelen Dank!

Gruß Timi

So kann man mir mit kleinen Sachen eine große Freude machen!
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Tabelle drehen, jedoch blatt senkrecht ante8684 Microsoft Word Hilfe 6 18.09.2008, 15:01 Letzten Beitrag anzeigen
Keine neuen Beiträge Daten von einem Blatt zum nächsten ko... miriki Microsoft Excel Hilfe 15 28.08.2008, 12:45 Letzten Beitrag anzeigen
Keine neuen Beiträge Blatt schützen vor Löschen und Umbennen maxseidel Microsoft Excel Hilfe 2 12.08.2008, 12:49 Letzten Beitrag anzeigen
Keine neuen Beiträge Normales Blatt mit text und zahlenfel... comkoch Microsoft Word Hilfe 1 10.07.2008, 09:51 Letzten Beitrag anzeigen
Keine neuen Beiträge ... auf einem DIN A4 Blatt 6 x A6 Fel... m.scheller Microsoft Excel Hilfe 6 17.06.2008, 07:16 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de