Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Listbox Array jede menge probleme

Betrifft: Listbox Array jede menge probleme von: Tobias
Geschrieben am: 12.08.2004 14:17:43

hallo leutz,

unten stehen sourcecode habe ich mir aus verschiedenen vorgaben zusammengestrickt und versuche ihn vollends zu verstehen. Jetzt ist zwar fein das die daten schön struktuiert in der listbox geschrieben werden. Aber jetzt gehen verschiedene andere sachen nicht mehr die ich machen wollte.

zum beispiel wenn ich ein element aus der listbox selectiere dann gibt er mir willkürliche positionen wieder, aber nicht die die ich abgeklickt habe. Kann sein das ich auch dafür den falschen befehl verwendet habe. Ich habe listbox1.selected verwendet.

wie sage ich ihm das er mir wenn ich z.b. zeile 5 angeklickt habe er mir aus dieser zeile eine bestimmte stellen wiedergeben soll???

wie kann ich ihm sagen wenn ich in einem textfeld einen wert eingegeben habe das er mir den an einer bestimmten stelle im array saven soll??

Das ist jetzt wieder ne menge auf einmal, aber vielleicht fühlten sich jetzzt ganz viele herausgefordert. Ich für meine Person bin im mom sehr überfordert. Ich habe mir jetzt erst mal 2 Bücher gegriffen und bin dabei stückchenweise dabei meine probleme zu lösen.

Bin für jede Hilfe dankbar.

Greetz
Tobias


'###############################################################################
'Form Initialisierung
'###############################################################################

Private Sub UserForm_Initialize()
Dim iZeile As Long
Dim WS1 As Worksheet
Dim Arr() As Variant
Dim iArr As Long

Set WS1 = Worksheets("bibo")
iArr = 0

With WS1
For iZeile = 2 To .Range("A65536").End(xlUp).Row
    ListBox1.ColumnWidths = "1,5cm;1cm;1cm;1cm;1cm"
    iArr = iArr + 1
    ReDim Preserve Arr(1 To 5, 1 To iArr) As Variant
    Arr(1, iArr) = .Cells(iZeile, 1)
    Arr(2, iArr) = .Cells(iZeile, 2)
    Arr(3, iArr) = .Cells(iZeile, 3)
    Arr(4, iArr) = .Cells(iZeile, 4)
    Arr(5, iArr) = .Cells(iZeile, 5)
Next iZeile
End With

With ListBox1
    .ColumnCount = 5
    .List = Application.WorksheetFunction.Transpose(Arr)
End With
End Sub

  


Betrifft: AW: Listbox Array jede menge probleme von: Ulf
Geschrieben am: 12.08.2004 14:22:20

Selected ist nur nötig, wenn die Listbox multiselect zulässt. Das ist nirgens zu sehen.
Ansonsten gehts über Listindex und Column.

Ulf


  


Betrifft: AW: Listbox Array jede menge probleme von: Tobias
Geschrieben am: 12.08.2004 14:34:46

werd ich mal ausprobieren. Multiselect ist im mom noch nicht geplant, vielleicht später aber ich glaube da werde ich mir vorher noch ein paar Kapitel grundwissen vornehmen.

Tobias


  


Betrifft: AW: Listbox Array jede menge probleme von: Tobias
Geschrieben am: 12.08.2004 14:43:12

Private Sub ListBox1_Click()
    Workbooks("Daten.xls").Worksheets("bibo").Activate
    LastClickedListboxElement = ListBox2.ListIndex + 1
End Sub



wenn ich das als sub nutze, dann zeigt er mir solange ich in der Sub bin mit VB das der ListIndex richtig ist - 1 und dann addier ich eine 1 dazu damit die zeilenziffer stimmt, weil er ja in der liste bei 0 anfängt aber in excel bei 1 losgeht.

wenn ich jetzt aus der sub draussen bin dann setzt er den ListBox2.Index automatisch auf -1, weiß nicht warum???????


  


Betrifft: AW: Listbox Array jede menge probleme von: Ulf
Geschrieben am: 12.08.2004 14:47:20

Wo kommt nun auf einmal noch eine zweite Listbox her, die war bis jeztz noch nicht im Spiel, oder?

Ulf


  


Betrifft: AW: Listbox Array jede menge probleme von: Tobias
Geschrieben am: 12.08.2004 14:51:34

mensch da liegt der eine fehler begraben. Deshalb lag der Index die ganze Zeit bei -1. Hab auf 1 gechanged und siehe da Index ok.

Tobias


  


Betrifft: AW: Listbox Array jede menge probleme von: Luschi
Geschrieben am: 12.08.2004 14:41:05

Hallo Tobias,

wie mein Vorredner schon erwähnte, erhält man mit Me.ListBox1.ListIndex Du den Index der mit der Maus angeklickten Zeile in der Listbox. Der Zähler beginnt aber bei 0. Also hat die 1. Zeile den Wert 0.
mit Me.ListBox1.Column(2) erhältst Du den Inhalt der 3. Spalte aus der selektierten Zeile. Auch hier beginnt der Zähler mit 0.

Gruß von Luschi
aus klein-Paris


  


Betrifft: AW: Listbox Array jede menge probleme von: Tobias
Geschrieben am: 12.08.2004 14:54:07

jup zähler problem gelöst.

aber wie komm ich jetzt an die Position z.b. Inhalt der Spalte 3 von Zeile 1??????

Tobias


  


Betrifft: AW: Listbox Array jede menge probleme von: Luschi
Geschrieben am: 12.08.2004 15:25:12

Hallo Tobias,

das macht man so: Me.ListBox1.List(0, 2)
spricht: 1. Zeile und 3. Spalte

Gruß von Luschi
aus klein-Paris


  


Betrifft: AW: Listbox Array jede menge probleme von: Tobias
Geschrieben am: 12.08.2004 15:35:15

Das mit dem Me.Listbox1.List hat nicht so richtig geklappt. zum test hab ich cells direkt und geb das einfach auf ne variable die ich dann auch noch weiter verwenden kann.

Private Sub ListBox1_Click()
    Workbooks("Daten.xls").Worksheets("bibo").Activate
    LCLE = ListBox1.ListIndex + 1
    Dim inhalt As String
    inhalt = Cells(LCLE + 1, 1)
    MsgBox (inhalt)
End Sub



THX an Alle
Tobias

PS:

ich denk mal das noch weitere einträge folgn werden in diesem so guten forum


  


Betrifft: AW: Listbox Array jede menge probleme von: Luschi
Geschrieben am: 12.08.2004 16:08:32

Hallo Tobias,

da ich fast nichts aus dem Hut zaubere, sondern auch den kleinsten Tip vorher noch
mal teste, kann ich mir nicht vorstellen, das mein Tip nicht funktionieren sollte.
Dim s As Variant
s = Me.Listbox1.List(0,2) benötigst Du ja auch nur, wenn man einen Wert aus einer Spalte benötigt, dessen Zeile nicht angeklickt ist.

Gruß von Luschi
aus klein-Paris


 

Beiträge aus den Excel-Beispielen zum Thema "Listbox Array jede menge probleme"