Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

List macht fehler

List macht fehler
05.12.2016 18:54:52
walter
Guten Abend zusammen,
ich habe ein Makro in einer Userform mit Listbox, es wird ein Laufzeitfehler
angezeigt.
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = ListBox1.List(Me.ListBox1.ListIndex, 0)           'lf. Nr. rein
TextBox2.Value = Format(ListBox1.List(Me.ListBox1.ListIndex, 1), "dd.mm.yyyy")     ' EK  _
Datum
TextBox3.Value = ListBox1.List(Me.ListBox1.ListIndex, 2)           'Lieferant
TextBox4.Value = ListBox1.List(Me.ListBox1.ListIndex, 3)           'Marke
TextBox5.Value = ListBox1.List(Me.ListBox1.ListIndex, 4)           'Marken für Standtage
TextBox6.Value = ListBox1.List(Me.ListBox1.ListIndex, 5)           'Typ
TextBox7.Value = Format(ListBox1.List(Me.ListBox1.ListIndex, 6), "###,###,###")    'Stamm  _
Nr.
TextBox8.Value = Format(ListBox1.List(Me.ListBox1.ListIndex, 7), "##,###.##")      ' EURO  _
MWST
TextBox9.Value = Format(ListBox1.List(Me.ListBox1.ListIndex, 8), "##,###.##")      ' _
Firmenname
TextBox10.Value = ListBox1.List(Me.ListBox1.ListIndex, 9)
TextBox11.Value = Format(ListBox1.List(Me.ListBox1.ListIndex, 10), "dd.mm.yyyy")   'datum  _
verkauf
TextBox12.Value = ListBox1.List(Me.ListBox1.ListIndex, 11)           'standtage ist
TextBox13.Value = Format(ListBox1.List(Me.ListBox1.ListIndex, 12), "##,###.##")           ' _
Erlös mit mwst
TextBox14.Value = Format(ListBox1.List(Me.ListBox1.ListIndex, 13), "##,###.##")    'mwst
TextBox15.Value = Format(ListBox1.List(Me.ListBox1.ListIndex, 14), "##,###.##")    ' _
Nettoerlös
TextBox16.Value = ListBox1.List(Me.ListBox1.ListIndex, 15)           'noch nicht belegt
TextBox17.Value = ListBox1.List(Me.ListBox1.ListIndex, 16)           'käufer
TextBox18.Value = ListBox1.List(Me.ListBox1.ListIndex, 17)           'wert eintausch
TextBox19.Value = ListBox1.List(Me.ListBox1.ListIndex, 18)           'bemerkung
bleibt hier stehen, Eigenschaft List konnte nicht abgerufen werden.!!!!
   FundZeile = ListBox1.List(Me.ListBox1.ListIndex, 19)
CommandButton1.Enabled = False ' den Übernehmen-Button sperren
CommandButton3.Enabled = True  ' den Ändern-Button freigeben
CommandButton4.Enabled = True  ' den Löschen-Button freigeben
gruß
walter b
End Sub

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: List macht fehler
05.12.2016 19:12:25
Hajo_Zi
Hallo Walte,
nur wenige sehen Deine Datei.
Man könnte vermuten die Listbox hat keine 19 Spalten.

Doch Liste hat 19 Spalten
05.12.2016 19:27:19
walter
Guten Abend Hajo,
die Liste hat 19 Spalten.
Hier das Makro der UF.
Private Sub UserForm_Activate()
'--------------- für die Bildschirmanpassung ----------------------------------
Dim hwndForm  As Long
Dim hwndMenu  As Long
Dim intY      As Integer
Dim intLast   As Integer
Dim intNext   As Integer
Dim UserForm
' On Error Resume Next
'Dim UserForm
'--------------- für Bildschirmanpassung ------
'  With Me
'       .StartUpPosition = 0
'      .Top = 0
'      .Left = 0
'      .Height = GetDeviceCaps(GetDC(0&), HORZRES)
'      .Width = GetDeviceCaps(GetDC(0&), VERTRES)
'  End With
'  ReleaseDC 0, GetDC(0&)                                         'hiermit verankern
'  hwndForm = FindWindow(GC_CLASSNAMEMSEXCELFORM, Me.Caption)     'hiermit verankern
If hwndForm  0 Then
hwndMenu = GetSystemMenu(hwndForm, 0)
If hwndMenu  0 Then DeleteMenu hwndMenu, SC_MOVE, MF_BYCOMMAND
End If
Dim lLetzte  As Long
Dim lLetzte1 As Long
Dim sBlattname  As String
sBlattname = ActiveSheet.Name
' Dim aTmp
Dim iIndx  As Integer
Dim iTop   As Integer
Dim iLeft  As Integer
iTop = 244
For iIndx = 1 To 19 ' 16 Label
With Controls("Label" & iIndx)
.Height = 18
.Left = 92                         '12
.Top = iTop
.Width = 90
.Font.Size = 9
.TextAlign = 3
End With
iTop = iTop + 20
Next iIndx
iTop = 240
For iIndx = 1 To 19 ' 16 TextBoxes
With Controls("TextBox" & iIndx)
.Height = 20
.Left = 190                    '106
.Top = iTop
.Width = 120
.Font.Size = 9
.TextAlign = fmTextAlignCenter
End With
iTop = iTop + 20
Next iIndx
TextBox1.Width = 60
TextBox2.Width = 60
Me.Caption = "Daten erfassen, ändern, löschen."
' Me.Width = 1000
' Me.Height = 700
Call Array_fuellen
With ListBox1        ' betrifft die ListBox1
.Height = 120     ' die Höhe festlegen
.Left = 20        ' den linken Randabstand festlegen
.Top = 95         ' den oberen Randabstand festlegen
.Width = 1100      ' die Breite festlegen
.Font.Size = 10    ' die Schriftgröße festlegen
.ForeColor = RGB(0, 0, 255) ' Schriftfarbe immer mit RGB
.ColumnCount = 19  ' die Anzahl der Spalten festlegen
' die Breite der Spalten festlegen
.TextAlign = fmTextAlignCenter
'  .ColumnWidths = _
("6,5 cm;3,0 cm;1,2 cm;2,5 cm;3,0 cm;2,5 cm;2,5 cm;4,0 cm")
'--------------------- Marken   Typ    StammNr  €  EK €  Chas. DtVk. Tage   Erl.  mwst  _
Netto   --     Käuf    Wert  BEM    ---
.ColumnWidths = _
("1 cm;2 cm;1,9 cm;1,9 cm;1,8 cm;3,3 cm;2,3 cm;2 cm;2,5 cm;1,5 cm;2 cm;0,8 cm;2,5 cm;2  _
cm;2,5 cm;0,5 cm;3,5 cm;2,3 cm;1 cm")
'  .Clear            ' die ListBox leeren
' .Column = aTmp
End With
CommandButton1.Enabled = True  ' den Übernehmen-Button entsperren
'CommandButton2.Enabled = True  ' den Suchen-Button entsperren
CommandButton3.Enabled = False ' den Ändern-Button sperren
CommandButton4.Enabled = False ' den Löschen-Button sperren
With ThisWorkbook.Worksheets("Herkunft")
lLetzte = IIf(.Range("S65536")  "", 65536, .Range("S65536").End(xlUp).Row)
If lLetzte 
gruß walter b
Anzeige
AW: Doch Liste hat 19 Spalten
05.12.2016 19:29:50
Hajo_Zi
Gut ich bin dann raus.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original.
Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Test, Mappe, Beispiel usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.
Gruß Hajo
Anzeige
OK hast Recht, hier die Datei
05.12.2016 19:37:43
walter
Hallo Hajo,
hier die Datei.

Die Datei https://www.herber.de/bbs/user/109886.xlsm wurde aus Datenschutzgründen gelöscht


Gruß
walter b
AW: List macht fehler
05.12.2016 19:45:23
Daniel
Hi
Der Zeilen- Spaltenindex für .List beginnt mit 0 und nicht mit 1!
Dh wenn du 19 Spalten hast, dann ist der größte Index 18.
Gruß Daniel
Wieso
05.12.2016 20:23:51
walter
Guten Abend Daniel,
aber das steht doch drin.
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = ListBox1.List(Me.ListBox1.ListIndex, 0) 'lf. Nr. rein
gruß walter b
Anzeige
AW: Wieso
05.12.2016 20:59:48
Mullit
Hallo,
..was Daniel Dir sagen will:
bleibt hier stehen, Eigenschaft List konnte nicht abgerufen werden.!!!!
   FundZeile = ListBox1.List(Me.ListBox1.ListIndex, 19)

jibbet nich....
Gruß, Mullit
Versteh ich nicht
05.12.2016 21:03:55
walter
Hallo Mullit,
das steht doch auch bei mir drin, ich habe es nicht verstanden.
gruß
walter b
AW: Wieso
05.12.2016 21:03:00
Crazy
Hallo
du weist der Listbox 19 Spalten zu
dann gehen die Spalten von 0 bis 18
wenn du nun
Listbox1.List(Me.ListBox1.ListIndex, 19)
schreibst dann wäre das Spalte 20 die es nicht gibt
MfG Tom
Anzeige
Habe geändert aber ...
05.12.2016 21:11:38
walter
Hallo Tom,
versteh nicht so recht, habe auf 18 Spalten geändert.
.ColumnCount = 18 ' die Anzahl der Spalten festlegen
' die Breite der Spalten festlegen
.TextAlign = fmTextAlignCenter
.ColumnWidths = _
("1 cm;2 cm;1,9 cm;1,9 cm;1,8 cm;3,3 cm;2,3 cm;2 cm;2,5 cm;1,5 cm;2 cm;0,8 cm;2,5 cm;2 cm;2,5 cm;0,5 cm;3,5 cm;2,3 cm")
gruß walter
Habe mal so eingestellt
05.12.2016 21:17:44
walter
Hallo,
habe so eingestellt, keine Fehlermeldung aber auch keine Reaktion zum löschen
der Zeile. Commandbutton7 der UF
TextBox18.Value = ListBox1.List(Me.ListBox1.ListIndex, 17) 'wert eintausch
TextBox19.Value = ListBox1.List(Me.ListBox1.ListIndex, 18) 'bemerkung
FundZeile = ListBox1.List(Me.ListBox1.ListIndex, 18)
gruß walter
Anzeige
AW: Habe mal so eingestellt
05.12.2016 21:21:44
Mullit
Hallo Walter

dann nochmal ganz langsam, eben genau das darf bei Dir nicht drinstehen: Bei 19 Spalten hast Du nur Spaltenindizes von 0 bis 18 zur Verfügung, den Index 19 gibt's nicht mehr, jetzt klarer...?

Gruß, Mullit
AW: Habe mal so eingestellt
05.12.2016 21:23:15
Crazy
Hallo
du liest ja mit der RowSource die Spalten A bis S in die Listbox
in der Spalte S steht eine Bemerkung?
was ist denn dann Fundzeile?
schreib in die Spalte T die Zeilennummer
dann weist du der Listbox mit der Rowsource die Spalten A bis T zu
ColumnCount auf 20
dann darfst du auch die Spalte 19 der Listbox verwenden ;-)
MfG Tom
Anzeige
AW: Habe mal so eingestellt
05.12.2016 21:51:21
walter
Hallo Tom,
habe so geändert:
Dim LoLetzte1 As Long
LoLetzte1 = Sheets(sBlattname).Cells(Rows.Count, 1).End(xlUp).Row
Me.ListBox1.RowSource = sBlattname & "!A4:T" & LoLetzte1
(aber meine Datenbank geht ja nur bis Spalte S (18).
und so:
TextBox19.Value = ListBox1.List(Me.ListBox1.ListIndex, 18) 'bemerkung
FundZeile = ListBox1.List(Me.ListBox1.ListIndex, 19)
keine Fehlermeldung
aber die Zeile löschen klappt nicht !
Warum ?
gruß walter b
AW: Habe mal so eingestellt
05.12.2016 21:57:49
Crazy
Hallo
was wird denn hier
FundZeile = ListBox1.List(Me.ListBox1.ListIndex, 19)
für ein Ergebnis erwartet?
die Zeilennummer oder?
ich habe dir geschrieben, dass du in Spalte T die Zeilennummer schreiben sollst
dann steht die Zeilennummer in Spalte 20 der Listbox, also in der Spalte
mit dem Index 19!!!
btw: Spalte S in einer Tabelle ist Spalte 19 und nicht 18
MfG Tom
Anzeige
Bitte kannst Du mir...
05.12.2016 22:17:14
walter
Hallo Tom,
kannst Du mir die Datei mit den Änderungen zurück
senden.
Dank im Voraus, ich blick im MOMENT nicht durch.
Bitte auch mal nach Zeile löschen schauen.
gruß walter b
Bitte kannst Du mir...
05.12.2016 22:18:00
walter
Hallo Tom,
kannst Du mir die Datei mit den Änderungen zurück
senden.
Dank im Voraus, ich blick im MOMENT nicht durch.
Bitte auch mal nach Zeile löschen schauen.
gruß walter b
AW: Bitte kannst Du mir...
05.12.2016 22:32:27
Crazy
Hallo
schau mal ob es so passt
ich habe es auf Tabellenblatt "Herkunft" getestet
beachte die Formel für die Zeilennummer in Spalte 20
https://www.herber.de/bbs/user/109887.xlsm
MfG Tom
und nu geht's inne Heia ;-)
Anzeige
Tom tausend Dank aber
06.12.2016 09:34:32
walter
Guten Morgen Tom,
ich hoffe Du hattest einen guten Schlaf, trotz meines Problemes.
In der Spalte T fängt die Zelle T4 mit 4 an geht runter bis t249, ist das Richtig ?
Muss ich die Zahlen immer ergänzen ?
gruß
walter b
Tom klappt alles DANKE !!! --))
09.12.2016 09:21:51
walter
Gruß walter b

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige