Excel VBA Fragen

  • #1
H

Hudson

Bekanntes Mitglied
Themenersteller
Dabei seit
14.04.2005
Beiträge
146
Reaktionspunkte
0
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
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 :)
 
Thema:

Excel VBA Fragen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben