# Excel (2010) Macro Userform Anzeigenfeld



## Jenny1985 (30 Dezember 2011)

Hallo zusammen,

ich habe eine Frage zu Userformen in Excel (2010), ich hoffe mir kann hier jemand helfen.

Ich möchte gerne in eine Userform ein Anzeigenfeld integrieren. D.h. ich wähle in einer Combobox (das wäre schon mal kein Problem ) eine Betriebsstätte aus und im Anzeigenfeld (das wiederrum ist mein Problem) sollen mir dann die Umsätze der jeweiligen Bst aus einen Tabellenblatt angezeigt werden.

Weis jemand wie das funktionieren kann?? Wäre schön wenn mir jemand helfen könnte.

Vielen Dank & Viele Grüße
Jenny


----------



## tnt369 (30 Dezember 2011)

Dafür gibt es das Change Ereignis:


```
Private Sub ComboboxName_Change()
   ' Hier steht die Auswertung der Combobox z.B. nach Index-Nr.:
   ' If ComboboxName.ListIndex = 0 Then ...
End Sub
```

Immer wenn die Combobox sich ändert wird dieser Code aufgerufen.


----------



## Jenny1985 (3 Januar 2012)

Hallo,

ja Change war eine gute Idee!! Nur mit dem If wär ich nicht mehr froh geworden, bei 150 Betriebsstätten und 15 Anzeigefeldern! Die Anzeige ist über das "Anzeigenfeld" auch nicht möglich, wie sich nach dem ausprobieren gezeigt hat. Auch zum Anzeigen von Daten müssen Textboxen verwendet werden. Hier mein Code falls jemand mal ein ähnliches Problem haben sollte.

Private Sub ComboBox1_Change()
t = ComboBox1.Value
Set Suchbegriff = shInput.Columns(1).Find(What:=t, LookAt:=xlWhole)
If Suchbegriff Is Nothing Then MsgBox "stop"
x = Suchbegriff.Row
TextBox14.Value = shInput.Cells(x, 24).Value
TextBox15.Value = shInput.Cells(x, 25).Value
TextBox16.Value = shInput.Cells(x, 26).Value
TextBox17.Value = shInput.Cells(x, 27).Value
TextBox18.Value = shInput.Cells(x, 28).Value
TextBox19.Value = shInput.Cells(x, 29).Value
TextBox20.Value = shInput.Cells(x, 30).Value
TextBox29.Value = shInput.Cells(x, 30).Value
TextBox21.Value = shInput.Cells(x, 31).Value
TextBox22.Value = shInput.Cells(x, 32).Value
TextBox23.Value = shInput.Cells(x, 33).Value
TextBox24.Value = shInput.Cells(x, 34).Value
TextBox25.Value = shInput.Cells(x, 35).Value
TextBox26.Value = shInput.Cells(x, 36).Value
TextBox27.Value = shInput.Cells(x, 37).Value
TextBox28.Value = shInput.Cells(x, 37).Value
End Sub


So vielen Dank nochmal für den Changehinweis.

VG Jenny


----------



## Oberchefe (3 Januar 2012)

gehen in Excel keine Arrays von Textboxen? Dann musst Du nicht so viele Zeilen für's Beschreiben nehmen sondern kannst das in einer Schleiife machen.


----------



## Dos6.22 (9 Januar 2012)

Gibt es, ist aber etwas her, dass ich dort in VB programmiert habe. Die Felder werden so definiert:
ReDim OutputAnzahlBytePos(1 To 2)

Aber man kann ja auch einfach auf die Excelfelder zugreifen um sowas per Schleife zu lösen

Sieht dann zB so aus:

```
For I = Len(AktuelleTabelle.Cells(TextFilePos(1), TextFilePos(2)).Text) To 1 Step -1
      
      If Mid(AktuelleTabelle.Cells(TextFilePos(1), TextFilePos(2)).Text, I, 1) = "\" Then
        
        '-- \ gefunden, Position merken und abbruch Suche
        indexVerzeichnis = I
        Exit For
        
      End If
      
    Next I
```

 Bei der for Schleife greife ich auf den Textinhalt der aktuellen Excel Tabelle zu und werte dort eine Zelle aus. In dem Text der Zelle suche ich nach dem \ Zeichen.
Geht vielleicht auch einfacher, aber ich bin auch kein Basic freak, daher habe ich das so gelsöt gehabt.

Das ganz geht natürlich auch für einfache Textkopiererreien


----------

