Office: Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange

Helfe beim Thema Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Diese Anweisung bringt mich im Moment zur Verzweiflung! Wer kann helfen? Private Sub Worksheet_Activate()... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von timi, 8. Juni 2008.

  1. timi Erfahrener User

    Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange


    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 soZellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange :("'"&$AA23&"'!I2:I1000")

    Gruß Timi und vielen Dank vorab!
     
  2. schatzi Super-Moderator
    Hallo!

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

    x = Sheets("ProvKlient(2)").Range("AA23").Value
     
    schatzi, 8. Juni 2008
    #2
  3. timi Erfahrener User
    Kann es an dieser Kleinigkeit liegen?

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

    Gruß Timi
     
  4. timi Erfahrener User

    Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange

    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?
     
  5. schatzi Super-Moderator
    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
     
    schatzi, 8. Juni 2008
    #5
  6. timi Erfahrener User
    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
     
  7. schatzi Super-Moderator
    Hallo!
    Bei mir schon...
     
    schatzi, 8. Juni 2008
    #7
  8. timi Erfahrener User

    Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange

    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
     
  9. schatzi Super-Moderator
    Hallo!
    Hab' ich gemacht und es funktioniert genauso gut...
     
    schatzi, 8. Juni 2008
    #9
  10. timi Erfahrener User
    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
     
  11. schatzi Super-Moderator
    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...
     
    schatzi, 8. Juni 2008
    #11
  12. timi Erfahrener User
    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!
     
  13. timi Erfahrener User

    Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange

    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
     
  14. schatzi Super-Moderator
    Hallo!

    Das hast du Excel auch ausdrücklich so befohlen!
    Versuch's doch mal mit einem Worksheet_Change- oder Worksheet_Calculate-Ereignis.
     
    schatzi, 8. Juni 2008
    #14
  15. timi Erfahrener User
    Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange *:p* 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!
     
Thema:

Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange

Die Seite wird geladen...
  1. Zellenwert=Tab.-Blatt-Name; Benutzen für ListFillRange - Similar Threads - Zellenwert=Tab Blatt Name

  2. Drehfeld - Min und Max als Zellenwert festlegen

    in Microsoft Excel Hilfe
    Drehfeld - Min und Max als Zellenwert festlegen: Moin, kann man die MIN- und MAK-Werte in einem Drehfeld mit einer Zelle verknüpfen? [ATTACH] Dankefür Eure Hilfe Grüße D-T
  3. Android Office Word mehrere Tabs erstellen

    in Microsoft Word Hilfe
    Android Office Word mehrere Tabs erstellen: Hallo, ich habe gerade Microsoft Office 365 Single auf meinem Android Tablet installiert und habe eine Frage zu Word. Bei der Desktopversion kann man ja mehrere Tabs nebeneinander oder zumindest...
  4. TABS für jedne Tag des Monats einfügen + Tabelle mit übernehmen

    in Microsoft Excel Hilfe
    TABS für jedne Tag des Monats einfügen + Tabelle mit übernehmen: Hallo, ich muss übergangsweise monatsweise ein Kassenbuch in Excel führen. Ich habe im 1. Reiter ein Tabellenblatt. Dieses enthält Formeln sowie in Zelle B2 das aktuelle Datum. Was ich gern...
  5. Zellenwerte in Zellenbereich ausgeben mit Bedingungen

    in Microsoft Excel Hilfe
    Zellenwerte in Zellenbereich ausgeben mit Bedingungen: Hallo, ich würde gerne, dass ein bestimmter Wert des Zellenbereiches "AO" bis "BC", also von 1 bis 50.000 Stück ausgegeben wird. Bedingung muss sein, dass der Wert größer als 10 ist aber von dem...
  6. Zellenwerte unter einem Wert "zusammenfassen"

    in Microsoft Excel Hilfe
    Zellenwerte unter einem Wert "zusammenfassen": Liebe alle, hoffentlich kann mir hier jemand helfen. Ich möchte Zellenwerte von einem anderen Blatt übernehmen - soweit so einfach - allerdings sollen für verschiedene Werte in der Bezugszelle...
  7. Excel Zellenwert automatisch zurücksetzen

    in Microsoft Excel Hilfe
    Excel Zellenwert automatisch zurücksetzen: Hallo, leider weiß ich nicht wie ich die Frage korrekt stellen sollte, deswegen einmal anhand eines Beispiels erklärt. Angenommen die Kaltmiete beträgt 300€ und die Nebenkosten100€, dies ist die...
  8. TAB schützen

    in Microsoft Excel Hilfe
    TAB schützen: Hallo Zusammen, hat jemand eine Idee wie ich folgende Anforderung umsetzen kann. Passwort schützen Blattsperre etc. hilft mir nicht weiter da der Inhalt eingesehen werden. Ich habe eine Excel in...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden