Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Hilfe bei Listbox in Userform
#11
Wenn ich die UF öffnen will kommt:

"Laufzeitfehler 9

Index außerhalb des gültigen Bereichs"
Antworten Top
#12
Hallo,

dann gibt es den Index arrArt(b + 1) des Arrays nicht...

Ich gehe davon aus, dass dein Fehler in der Ermittlung von anz = Application.Count(ws.Range(ws.Cells(3, 5), ws.Cells(3, ls))) liegt. Wonach Du hier suchst, weiß ich nicht.
Gruß Jonas
Antworten Top
#13
Hallo, danke für die antworten. Aber ich denke ich gehe jetzt doch den Alternativen Weg, da es wohl doch komplizierter ist den Code anzupassen.

Ich habe jetzt schon eine 2. Listbox eingefügt, die auf eine Hilfspalte zugreift, die mir dann die Zahl in Listbox 1 als  Textbaustein anzeigt. Die Hilfsspalte erstelle ich über WENN blabla.

So lange in jedem Feld auch was steht geht das auch. Aber leider bekomme ich diese Wenn Formeln nicht so hin, das in jedem Feld was steht( Dazu müßte ich WennOder........Oder......) da habe ich aber Probs das hinzubekommen.

Daher momentan 2 Probleme mit diesem Code:

1. wie erkennt der Code auch noch nach Lücken den Text?
2. was müßte ich eingeben, das sich die Listbox sofort aktualisiert wenn sich in der Zeile was ändert.

Momentaner Coder der neuen Listbox:( Das mit Texbox3 stand so drin, ohne das kommts zu fehlern, is aber überflüßig)

Code:
Private Sub UserForm_Activate()

Call test

Me.LBDat.List = arrDat
Me.LBArt.List = arrArt

Me.LBDat.ListIndex = indDat + 1


   Worksheets("Hilfe").Activate
   Range("B2").Select
   
Me.TextBox3.Value = ""
   ' Liste zunächst löschen
   Me.ListBox1.Clear
   
   ' Liste neu füllen
   While ActiveCell.Value <> ""
       ListBox1.AddItem ActiveCell.Value
       ActiveCell.Offset(0, 1).Activate
   Wend
End Sub
Die Codezeile um die Listbox zu aktualisieren müßte hier mit eingebaut werden:

Code:
Sub Lieferung9084()
'
' Lieferung9084 Makro
'
With Sheets("Lieferungen")
   .Range("E3:X3").ClearContents
   .Range("J1:N1").Copy
   .Range("J3").PasteSpecial xlPasteAll
 
   
   End With
End Sub
Antworten Top
#14
Hallo,

ich blicke zwar bei deinem ganzen Projekt überhaupt nicht durch, aber sei es wie es sei. Verwende für dein Vorhaben eine For-Schleife, die bis zur letzten Spalte läuft. Im Schleifenrumpf fragst Du dann ab, ob die jeweils aktuelle Zelle nicht leer ist, wenn ja, AddItem...

Verzichte in deinem Code ausserdem auf Activate und Select. Referenziere deine Bezüge vollständig und verwendet With-Blöcke.

Code:
   ' Liste neu füllen
   With Worksheets("Hilfe")
       For i = 2 To .Cells(2, Columns.Count).End(xlToLeft).Column
           If .Cells(2, i).Value <> "" Then
               ListBox1.AddItem .Cells(1, i).Value
           End If
       Next i
   End With
Gruß Jonas
Antworten Top
#15
Hallo,

danke, werd es mal probieren.
Antworten Top
#16
Hallo,

konnte beide Probleme mehr oder weniger alleine lösen. Mit deinem Codeausschnitt passierte nichts. Aber wie gesagt habs jetzt soweit das es so funktioniert wie ich es mir vorgestellt habe.

Aber wo kann ich die breite der Listbox so anpassen, das es nur so breit ist um die Zahlen anzuzeigen, aber keinen Scrollbalken unten darstellt?
Antworten Top
#17
Hallo, das konnte ich jetzt alles soweit lösen, das es auch optisch alles passt.

Aber: kann man das irgendwie abschalten, das in der Listbox das selektierte Element nicht farblich hinterlegt wird?  Bzw kann man die Schriftzeichen ganz ausblenden?? Ich habe die Liststyle....  eingeschaltet und möchte jetzt eigentlich nur die Auswahlmöglichkeit sehen und benutzen.
Antworten Top
#18
Hallöchen,

Zitat:Aber wo kann ich die breite der Listbox so anpassen, das es nur so breit ist um die Zahlen anzuzeigen

Ziehe die Listbox einfach auf ausreichende Breite. Die Breite einzelner Spalten kannst Du über ColumnWiths einstellen

Zitat:kann man das irgendwie abschalten, das in der Listbox das selektierte Element nicht farblich hinterlegt wird?

Mir fällt im Moment gerade nicht ein, wie ich es in VBA / Excel hinbekommen soll, dass das markierte Element nicht farblich hinterlegt wird, ergo auch nicht, wie man das abschallten kann Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#19
Hallo, danke für die Antwort.

Das mit dem Auseinanderzeihen is klar, aber ich wollte das schmaler haben ohne Balken, aber egal passt schon.
Antworten Top
#20
Hallöchen,

dann experimentiere mal mit ColumnWiths. Excel VBA ist da etwas inkonsequent. Wenn Deine Listbox breiter ist als die Summe der Spaltenbreiten, wird ggf. kein Scrollbalken angezeigt. Wenn Du z.B. in einer einspaltigen LiBo 1 einstellst und sie ist 40 breit, dann werden so viele Zahlen angezeigt, wie auf die 40 passen. Bei mehreren Spalten musst Du schauen, wie es passt. Mit Breite 1 in der ersten Spalte siehst Du da recht wenig Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste