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

Zusätzliche Ausgabe bei Listbox

Zusätzliche Ausgabe bei Listbox
Benny
Hallo ich habe eine Listbox und würde gerne noch in einer Zusatzbox Textfeld oder sowas, (was man dafür am besten nimmt) eine Weitere Zelle auslesen. Und zwar wie folgt. Durch die Listbox habe ich ja eine ganze Reihe Zellen die in die Listbox eingelesen werden.
Als beispiel sage ich mal 1-30 A und B in der Spalte A stehen die Indexwete 1-30 eben und in der Spalte B
Steht die Info, die in meine Listbox eingelesen wird.
Wenn ich nun eines der Zeilen in der Listbox Anklicke ist es dann möglich aus der Zeile in Spalte C eine Zusatzinfo in das Userform (Textfeld oder dergleichen( einzublenden, was jeweil je nachdem welche Stelle ich in der Listbox anklicke eben immer wieder Akualisiert ohne das Userform zu schließen.
Ich gebe euch mal den Code mit dazu das ihr sehen könnt wie mein Userform gebastelt ist.
[Code]
Public rowToUpdate As String
Dim values(272)
Dim offset As Integer
Private Sub btnOk_Click()
If skillBox.ListIndex > -1 Then Call setData
End Sub

Private Sub skillBox_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Call setData
End Sub

Private Sub skillBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If (KeyCode = 13) Then
Call setData
End If
End Sub

Private Function setData()
Dim skillcom As Integer
skillcom = values(skillBox.ListIndex) + 7
If Not Sheets("Skills").Range("C" & rowToUpdate).Comment Is Nothing Then
Sheets("Skills").Range("C" & rowToUpdate).Comment.Delete
End If
Sheets("Skills").Range("AG" & rowToUpdate) = values(skillBox.ListIndex)
Sheets("Skills").Range("C" & rowToUpdate).AddComment Sheets("skilldat").Range("C" &  _
skillcom).Text
Call skilldef
skillForm.Hide
End Function

Private Sub UserForm_Activate()
Dim skillCol As String
Dim valueCol As String
Dim counter As Integer
offset = 8
skillBox.Clear
For counter = 0 To 264
skillCol = "B" & counter + offset
valueCol = "A" & counter + offset
If (Sheets("skilldat").Range([skillCol]).Value  "") Then
values(counter) = Sheets("skilldat").Range([valueCol]).Value
skillBox.AddItem (Sheets("skilldat").Range([skillCol]).Value)
End If
Next counter
skillBox.SetFocus
End Sub

Private Function skilldef()
Dim skillpos As Integer
skillp = rowToUpdate
'def. from Skillname
Sheets("Skills").Range("C" & skillp).Formula = _
"=IF(AG" & skillp & "  """"," _
& "LOOKUP(AG" & skillp & ",skilldat!A8:A272,skilldat!B8:B272),"""")"
'def. from Catboni > skill
Sheets("Skills").Range("R" & skillp).Formula = _
"=IF(AG" & skillp & "  """"," _
& "LOOKUP(AG" & skillp & ",skilldat!A8:A272,skilldat!E8:E272),"""")"
'def. from Skillsum
Sheets("Skills").Range("Z" & skillp).Formula = _
"=IF(AH" & skillp & "  """",(SUM(P" & skillp & ":X" & skillp & ")),"""")"
'Def. from Standard Skill
If (Sheets("Skills").Range("AH" & skillp).Value = "C") Then
Sheets("Skills").Range("P" & skillp).Formula = _
"=IF(AH" & skillp & "  """"," _
& "IF(H" & skillp & "=0,-15," _
& "IF(H" & skillp & " """"," _
& "IF(H" & skillp & "=0,-30," _
& "IF(H" & skillp & " """"," _
& "IF(H" & skillp & "
[/Code]

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zusätzliche Ausgabe bei Listbox
04.10.2009 19:04:23
Oberschlumpf
Hi Benny
Warum zeigst du uns nicth eine Bsp-Datei mit allen nötigen Daten/Userforms/Spalten/Werten etc?
Dann sehen wir doch viel besser, wie alles bei dir "gebastelt" ist.
Ciao
Thorsten
AW: Zusätzliche Ausgabe bei Listbox
04.10.2009 19:13:52
Benny
Hallo wie kann ich denn aus meiner Ganzen Excel Datei die 2 Seiten da Exportieren und die dazugehörigen VBA Anteile? Ich weiß nicht wie das geht. Oder soll ich die Komplette Mappe Hochladen?
AW: Zusätzliche Ausgabe bei Listbox
04.10.2009 19:32:36
Oberschlumpf
Hi
a) Erstell doch einfach eine ganz neue Datei, in der du dann nur die Daten einträgst, die gerad dein Problem darstellen (VBA-Code + Userform nicht vergessen)
b) wenn es dich nicht stört, dass wir deine Realdaten sehen, kannst du auch die komplette Datei uploaden, wenn sie nocht grö0er als 300kb ist - wenn größer, dann WinZip verwenden.
Ciao
Thorsten
Anzeige
AW: Zusätzliche Ausgabe bei Listbox
04.10.2009 19:56:18
Benny
Ok hier ist die Datei hab das andre einfach rausgelöscht.
Es geht um die Seite Skills dort kann man wie man erkennen kann Skills die in der skilldat hinterlegt sind einlesen. In der skilldat Spalte C müsste das sein, steht dann die Info, die ich in der Textbox einlesen will, wenn man entsprechenden Skill aus der Listbox anklickt. Ich habe den Code für die Textbox noch nicht geschrieben. habe die lediglich grob in die Userform eingefügt sie heißt
skillTextBox es soll später in der vollen Version 3 weitere Skillseiten auftauchen die ich dann mit skillTextBox2 und skillTextBox3 benennen werde. Diesen Code aber werde ich aus der Hilfe hier entnehmen.
Hoffe das man mein Text versteht. :)
https://www.herber.de/bbs/user/64876.xls
Anzeige
AW: Zusätzliche Ausgabe bei Listbox
04.10.2009 20:19:33
Benny
huhu danke dir :) ja das hilft sehr. Das war also der Code den du eingefügt hast?
[code]
Private Sub skillBox_Click()
Dim liZeile As Integer
With Sheets("Skilldat")
For liZeile = 8 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Range("A" & liZeile).Value = skillForm.skillBox.ListIndex + 1 Then
skillForm.skillTextBox.Text = .Range("C" & liZeile).Value
Exit For
End If
Next
End With
End Sub

[/code]
Anzeige
AW: Zusätzliche Ausgabe bei Listbox
04.10.2009 20:31:21
Oberschlumpf
ja, genau, das ist der Code
AW: Zusätzliche Ausgabe bei Listbox
05.10.2009 20:51:23
Benny
Du sag mal ist es auch machbar:
Momentan sind ja alle Skills in Spalte B nach Alphabet sortiert, und es fallen im schnitt so 5-8 dieser Skills in eine Category, aus Spalte C hast ja gesehen das dort oft die selbe auftaucht.
Ich würde das dann so abändern das die Skills zwar Alphabetisch sortiert sind, aber die dazugehörige Category nur 1 mal aufführe.
In der Textbox mit dem Aktuellen Code würde dann aber in Spalte C so gut wie immer eine Leerzelle sein,
wär es also machbar, das die Textbox immer den nächst höheren Eintrag in Spalte C sucht und diesen nutzt.
z.B.
--------------B---------------------------C
1---Adrenal Landing------------Self Control
2---Adrenal Leaping------------
3---Adrenal Quickness---------
4---Adrenal Speed--------------
5---Adrenal Stabilization+-----
6---Adrenal Strength-----------
7---Animal Handling------------Outdoor Animal
8---Animal Healing--------------
9---Animal Mastery-+----------
wenn ich 3 4 oder 5 wähle würde er mir in der Textbox "Self Control" ausgeben und bei 8 oder 9 hätte er dann "Outdoor Animal"
geht sowas?
Weil dann würde ich mir die ganzen Doppeleinträge sparen.
Anzeige
AW: Zusätzliche Ausgabe bei Listbox
05.10.2009 22:49:44
Oberschlumpf
hier meine Lösung:
https://www.herber.de/bbs/user/64897.xls
Schau dir das Blatt skilldat an, in dem ich in Spalte C viele gleichlautende Einträge, die untereinander standen, gelöscht habe.
(ich habe nicht die ganze Spalte C durchsucht, weil ich denke, die ersten paar reichen zum Testen)
Wenn du jetzt im Userform in der Listbox einen Eintrag anklickst, wird nun auch in der Textbox der richtige Wert angezeigt...wenn ich dich richtig verstanden habe.
Hilfts?
Ciao
Thorsten
AW: Zusätzliche Ausgabe bei Listbox
06.10.2009 01:34:05
Benny
tausend dank dir!! das ist perfekt. Ich muss nun auch mal sehen das ich Irgendwo Quellen finde, damit ich das besser lernen lann und selber hinbekomme.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige