VBA - Excel - Userform - Zeilenindex - listbox

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von spotting, 13. März 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 13. März 2007
    Servus Leute,

    ich habe in excel eine Userform gebastelt.

    das ziel der userform war es, die werte in der tabelle zu beurteilen.
    dafür sollte man in der userform in einer listbox den eintrag auswählen,
    den man bearbeiten möche und kann daraufhin seine beurteilung vornehmen.

    neben dieser auswahl listbox habe ich eine zweite listbox. in dieser sollen die vorgenommenen beurteilungsergebnisse aufgelistet werden.

    das problem ist, wenn ich beim beurteilen nicht der reihe nach vorgehe, also von oben nach unten, schiebt die zweite listbox die werte von unten hoch.

    das führt dazu, dass diese übersicht nicht zu den werten in der ersten listbox passt.

    kennt ihr einen weg, wie ich dies umgehen kann?

    im anhang habe ich eine minimalistische version der tabelle.

    mfg spotting

    Download offline!
     
  2. 13. März 2007
    AW: VBA - Excel - Userform - Zeilenindex - listbox

    Hab dein Problemm nicht ganz verstanden. Kannst du nicht mit der Position in der Listbox arbeiten.

    Bei mir geht die ausführung von Makros nicht, poste doch einfach mal den Quelltext, der dahinter stehen.

    mfg Nash
     
  3. 13. März 2007
    AW: VBA - Excel - Userform - Zeilenindex - listbox

    ok, dann mal ganz plastisch.

    zwei spalten.
    spalte 1, beginnend in der zelle B3, enthällt die namen
    Name
    Peter
    Dieter
    Herbert
    ...

    spalte 2, beginnend in der zelle c3, enthällt die NOTEN für Spalte 1 jeweils in der gleichen Zeile.

    also
    Name - Note
    Peter - 3
    Dieter - 4
    Herbert - 2
    ... - ...

    das eintragen der noten geschieht durch eine userform.

    in dieser userform gibt es eine "listbox", die mir die namen untereinander auflistet.
    in einer zweiten "listbox" listet er mir die noten auf, die ich vergeben habe.

    wenn die noten, die ich vergebe nicht von oben nach unten eingetragen werden, sondern durcheinander. passiert in der userfom folgendes.

    Excel:
    Name - Note
    Peter - 3
    Dieter -
    Herbert - 2

    und in der Userform
    Name - Note
    Peter - 3
    Dieter - 2
    Herbert -

    also er schiebt die Note von Herbert hoch, da Dieter noch keine Note hatte.
    also er umgeht "leere" zellen.

    der code, der dahinter steckt ist folgender

    Code:
    Sub Zeigen()
    For i = 3 To 50
     If ActiveWorkbook.ActiveSheet.Cells(i, 2).Value <> "" Then UserForm1.Listbox1.AddItem (ActiveWorkbook.ActiveSheet.Cells(i, 2).Value)
    Next
    For i = 3 To 50
     If ActiveWorkbook.ActiveSheet.Cells(i, 3).Value <> "" Then UserForm1.ListBox2.AddItem (ActiveWorkbook.ActiveSheet.Cells(i, 3).Value)
    Next
    show userform1
    
    es funktioniert alles wunderbar, nur soll er aufhören, die leeren einträge zu überspringen.

    mfg
     
  4. 13. März 2007
    AW: VBA - Excel - Userform - Zeilenindex - listbox

    Verstehe nicht ganz die 2 For ... Next- Schleife. (nehme mal andu hast was rausgeschnitten)

    Also eigendlich willst du die Position bei AddItem angeben

    Code:
    ListBox2.AddItem "Egal", [B]3[/B]
    
    3 Ist dan die Position

    Bei dir wäre das dann glaub ich:
    Code:
    UserForm1.ListBox2.AddItem (ActiveWorkbook.ActiveSheet.Cells(i, 3).Value),i 
     
  5. 13. März 2007
    AW: VBA - Excel - Userform - Zeilenindex - listbox

    nash, diese for next schleife dienst dazu, den parameter "i" festzulegen.
    i ist dabei der zeilenindex. und er soll ab zeile drei (deshalb die drei) beginnen und bis zeile 50 nach unten sich wiederholen.
    er prüft dabei, ob in der spalte ein wert steht, und schreibt diesen dann in die listbox.

    es gibt deshalb zweimal diese for next schleife, weil es auch zwei listboxen sind.
    die erste listbox für den namen, die zweite listbox für die note.

    ... vlt wäre es hilfreich, sich mal die tabelle und die userform anzusehen, damit man versteht, was ich möchte.

    mfg spotting
     
  6. 14. März 2007
    AW: VBA - Excel - Userform - Zeilenindex - listbox

    Verstehe immer noch nicht dein großes Problem.
    Also wenn die Zeile der Note leer ist soll in die Listbox nix.

    Oder versteh ich das schon wieder falsch?

    Ich hab mal einen Codevorschlag für dich.
    Code:
    Sub Zeigen()
    For i = 3 To 50
     If ActiveWorkbook.ActiveSheet.Cells(i, 2).Value <> "" Then
     UserForm1.Listbox1.AddItem ((ActiveWorkbook.ActiveSheet.Cells(i, 2).Value))
     UserForm1.Listbox2.AddItem ((ActiveWorkbook.ActiveSheet.Cells(i, 3).Value))
     End If
    Next
    UserForm1.Show
    End Sub
    
     
  7. 15. März 2007
    AW: VBA - Excel - Userform - Zeilenindex - listbox

    Tja, Vielen Dank. ... manchmal sieht man den Wald vor lauter Bäumen nicht.

    mfg spotting

    dicht.
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.