Also ich habe eine Excel Datei in welche 20 identische Reihen aufgeführt sind. In diesen Reihen werden vereinzelte Cellen per Listbox welche sich unter der Celle öffnen sobald man diese anwählt. (Ich weiß das ganz geht auch per Dropbox die sich automatisch öffnen würde, aber Dropboxen find ich nicht schön mit dem Pfeil und man kann die Schriftarten nicht ändern). Jede dieser Listboxen haben ein Eigenen Quellcode zu Öffnen mit und zum übertragen des Textes in die Celle
If Target.Address(False, False) = "B8" Then (jede Celle hat diesen Code, öffnen und schließen)
ListBox81.Visible = True
Else
ListBox81.Visible = False
End If
und zum beschreiben der Celle:
Private Sub ListBox81_Change()
Dim i As Integer
Dim Reso As String
Dim y As Integer
With ListBox81
For i = 0 To .ListCount - 1
If .Selected(i) Then
y = y + 1
Select Case y
Case Is = 0
Reso = ""
Case Is = 1
Reso = .List(i)
Case Is > 1
Reso = Reso & ", " & .List(i)
End Select
End If
Next i
ActiveSheet.Range("B8").Value = Reso
End With
End Sub
Kann man das ganze irgendwie zusammen setzen? Verkürzen? Die der Code für 180 Celle recht lag ist.
Die Eingabe kann dann also über die sich öffnenden Listboxen erfolgen, oder über eine Userform (ich weiß das ist eigentlich auch Doppeltgemoppelt, ist wenn die Tabelle fast voll ist etwas übersichtlicher).
Mein Problem ist jetzt, dass wenn ich eine Anzahl von Listboxen direkt im Tabellenblatt überschreite, bekomme ich sobald ich die Userform öffnen eine Fehlermeldung:
(Laufzeitfehler'-2147467259(80004005) Eigenschaft Text konnte nicht abgerufen werden.)
Sobald ich auf "Debuggen" gehe kommt felher in der Zeile
"If ListBox1.Text = Trim(CStr(Tabelle3.Cells(lZeile, 1).Value)) Then"
Das ganz soll alles über festgelegter Eingabe laufen, da auf anderen Tabellenblättern noch Datenbanken und Tabellen und und und sind.
Muss ja zugeben, kannst man sich vielleicht denken, dass ich ein paar Sachen weiß aber ich mir auch ein paar Zeilen auf m Netz gesucht habe und angepasst habe.
Vielen Dank im Voraus