Excel VBA Fragen

Dieses Thema Excel VBA Fragen im Forum "Microsoft Office Suite" wurde erstellt von Hudson, 6. Apr. 2008.

Thema: Excel VBA Fragen Hallo, ich habe eine Userform erstellt mit ner KomboBox, drunter ein Listenfeld und neben den beiden ein Image....

  1. Hallo,

    ich habe eine Userform erstellt mit ner KomboBox, drunter ein Listenfeld und neben den beiden ein Image.
    Unter ComboBox_change habe ich ein Select Case und er gibt mir bei entsprechender Auswahl Werte in das Listenfeld.

    1) Wie lautet aber der Befehl für das entsprechende Bild im jeweiligen Case?
    Me.Image1.Picture = LoadPicture(Tabelle7!DasBild)?!? kommt Fehler 53 (Bild nicht gefunden)
    Hab die Bilder als jpg`s in ein anderes Tabellenblatt eingefügt und beschriftet (was später dann versteckt wird).

    2) Zu additem für die Listenbox:
    was muss danach stehen, wenn ich eine direkte Zelle auf einem anderen Tabellenblatt ansprechen möchte?
    (z.B. Me.Listbox.AddItem Tabelle3!B2 & Tabelle4!D7 ?!?)

    3) Und:
    Ist es möglich die Userform in ein Tabellenblatt einzubetten?
    (also in A1:D10, so dass auch das rote Kreuz verschwindet?)

    Danke für Antworten
     
  2. xyz
    xyz
    Hallo Hudson,

    zu 1)
    Bilder kann man nur mit dem Befehl object.Picture = LoadPicture( pathname ) anzeigen / laden. Die Bilder müssen dazu ausserhalb der Mappe als Bitmap oder jpg vorliegen.

    Innerhalb der Userform könnte der Befehl heissen:
    Code:
    Me.Image1.Picture = LoadPicture(ThisWorkbook.Path & Application.PathSeparator & MeinBild.bmp)
    Hier wird das Bild MeinBild.bmp im Pfad der Arbeitsmappe geladen.

    zu 2)
    Code:
    Me.Listbox.AddItem Range(Tabelle3!B3).Value & Range(Tabelle2!D1).Value
    3) Das Einbetten der Userform ist nicht möglich :mad: Aber du kannst die Elemente (ComboBox, Listenfeld, Picture, CommandButton ... direkt auf ein Blatt setzen.

    Gruß Matjes :)
     
  3. Vielen Dank für Deine Hilfe, Matjes :1

    Komme leider erst jetzt dazu... :(

    Da tauchen doch gleich wieder Fragen auf :-\

    Hab die Userform übern Haufen geworfen und AktiveX-Elemente eingebettet.
    (jetzt: 2x Combo, 2x ListBox und 1x Grafik)

    Bisher is das ganze nur ne Testdatei, deshalb sind meine Werte immer nur über additem X eingefügt.
    Später soll der sich die Werte über Range().Value ziehen... aber da gehts schon los...(Fehler->1004')
    Ich muss doch Excel irgendwo sagen wieviele Blätter ich habe?
    (Sprich Dim Blatt as Worksheet/Workbook? nur wo? Bei ComboBox1_Change? Neeee?!?)

    zu1) Mit: Me.Image1.Picture = LoadPicture(ThisWorkbook.Tabelle7 & Application.PathSeparator & Bild.jpg)
    findet er die Datei nicht (Fehler->53' bzw.->438' Objekt wird nicht unterstützt)...

    Neues Problem: Abhängige ComboBoxen:
    Ich habe das Gefühl meine bisherige Lösung ist: Warum einfach wenns auch umständlich geht!
    Warum:
    Wenn in Combo1 X gewählt wird, kann man in Combo2 die Werte 1,2,3 oder 4 wählen. Clicke ich in Combo2 z.B auf die 2 erscheinen in den Listbox'n dazu passende Werte(i.d.R. ein Wert pro listbox)! Schön...(Muss das mit der 2ten Combo machen um Platz zu sparen)
    ABER:
    Man kann auch Y oder Z in Combo1 wählen, die ebenfalls eine 2,3 oder 4 enthalten können...
    Kann also für Combo1 nicht gleichzeitig die Listbox'n füllen lassen weil sonst für Y und 2 die gleichen werte in den Listboxen stehen wie bei Z und 2!
    Deshalb habe ich:
    < Private Sub ComboBox2_Change()
    Me.ListBox2.Clear
    Me.ListBox3.Clear
    Select Case Me.ComboBox2.Value
    Case 1
    If Me.ComboBox1.Value = Z Then
    Me.ListBox2.AddItem Aa
    Me.ListBox3.AddItem Bb
    usw....
    Wird also ziemlich lang...Kann ich nicht hier schon irgendwas mit GO TO einfügen?:
    <Private Sub ComboBox1_Change()
    Me.ComboBox2.Clear
    Me.ListBox2.Clear
    Me.ListBox3.Clear
    Select Case Me.ComboBox1.Value
    Case Y
    Me.ComboBox2.AddItem 1
    Me.ComboBox2.AddItem 2
    Me.ComboBox2.AddItem 3
    --> und jetzt was mit GO TO?

    (und jetzt hier nur für Interessierte!:
    Oder meine TabellenBlatt struktur nutzen?!?
    Tabelle3 enthält die Daten zu X und Tabelle4 zu Y etc.
    Nur dass in Tabelle X , wo in A1-A. die Werte 1,2,3.. stehen,die auch doppelt vorkommen können, deshalb mach ich ja Combo2 mit nur 1,2,3,4... und falls die 3 zweimal vorkommt bietet er mir in Listbox1 und 2 mehr Daten an...
    Aber sowas is viel zu komplex :-X ...ich will ja nurn Gerüst!!!)

    Also wie erstelle ich (und zwar ohne jetzt mit Range() etc. die Tabelleninhalte zu nutzen) ein einfaches Beispiel abhängiger ComboBoxen, deren 2te mir unterschiedliche Inhalte in die Listbox'n wirft?!?

    [size=12pt]Vielen Dank![/size] Überhaupt fürs durchhalten und den Text zu lesen...
    (Zum Schluss grüße ich noch all meine Fans :coolsmiley: ;) )

    (googln verwirrt mich, weil die irgendwie des immer anders ham :'( )

    Achja:
    mach ich die Excel auf fragt der mich Makros aktivieren...aktiviere ich die, ist trotzdem meine Combo1 leer...erst mit Alt+F11 und anschließend F5 im Combo1_Initialize() steht was drin.
    Was muss ich machen, dass die sofort läuft?

    PPS: an den Moderator:
    Muss ich son Buchtext hier, schon als Code zum scrollen einfügen?!? ::)
     
  4. Hallo Hudson,

    zu1)
    du kannst kein Bild aus einer Arbeitsmappe laden. Das Bild muß einzeln als Datei angegebenwerden /erreichbar sein.

    Beim Rest schau ich mal, ob ich ein Beispiel zusammenbekomme.

    Gruß Matjes :)
     
Die Seite wird geladen...

Excel VBA Fragen - Ähnliche Themen

Forum Datum
Word und Excel Dokumente fragen nach Codierung Microsoft Office Suite 20. Nov. 2011
Zwei Fragen zu Excel 2007 Microsoft Office Suite 1. Okt. 2008
Instant-SQL-Abfragen für Excel-Sheets? Windows XP Forum 9. Juli 2007
Excel: Verschachtelte WENN-Abfragen anschaulich darstellen? Microsoft Office Suite 7. Dez. 2005
EXCEL - Abfragen der Zellenformate?? (wenn x = fett dann y) Microsoft Office Suite 29. Juli 2005