Multipages
17.04.2008 15:58:36
Benjamin
Ich weiß es ist viel Text, aber ich hoffe so, das ich verstanden werde, und nicht die erste Antwort ist, was willst du denn überhaupt machen.
ich habe ein Steuerelement gebastelt, mit 3 Multipages. Jede Page liest aus einem Sheet Informationen aus und gibt mir diese auf der jeweiligen page Seite zur Auswahl wieder. Ich habe es auch hinbekommen, das ich diese Auswahl (es soll nur eine gehen) auf einem 4ten Sheet ausgebe in eine Zelle.
Ich habe nun eine Frage,
wie stelle ich es an, das ich von der jeweiligen Seite, auf denen die Pages die Info herbekommen zusätzlich noch eine Zelle zur 4ten Seite verlinke. Die zahlenwerte stehen in Spalte P der gleichen höhe, auf dem auch die Auswahl in der Page getroffen wird (diese werden aus Spalte C gelesen). Kurze zusammenfassung.
4 Seiten
Skills Werte stehen in Spalte C 8 10 12 14 16...118
skills 2 Werte stehen in Spalte C 8 10 12 14 16...118
skills 3 Werte stehen in Spalte C 8 10 12 14 16...118
Stats Zielseite der Informationen Im moment N42 (wird geändert per Buttons auf bis zu 30 Felder)
Steuerelement:
Multipage mit 3 Seiten(listboxen)
liest pro Seite aus jeweils einen der Sheets(Skills, Skills 2 und Skills 3), Spalte C, offset 8, Step 2 (also nur jede 2te Zeile ist befüllt (die geraden) die ungeraden, sind nur zur Formatierung und sind leer).
Also 8 - 118...
Die auswahl die in der Multipage(listbox) getroffen wird, wird auf die 4te Seite "Stats"
ausgegeben ( im moment ist es in der Function geregelt, und nur 1 Zelle, das werde ich später ändern. wird mit Buttons realisiert). Aktuell ist es N42.
Ich müsste nun auch auf jeweils einen der Skill Sheets noch die benannte verlinkung ala =(Sheets!Pauswahlhöhe)
z.b. =(Skills 2!P62)
diese Info soll wie gesagt auch auf die Stats seite in AM50. Was passiert nun also..
Ich rufe aus der Stats Seite per Buttun das Multielement auf. Dieses liste mir pro Seite (Sheet) alle eingetragenen Werte von 8-118 Step 2 aus. Und Gibt sie mir zur Auswahl in die listbox wieder. Nehmen wir mal an ich wähle "Haus" aus der Liste von Seite 2, dieser Eintrag ist unter Skills 2 C62, zu finden. Ich habe nun auf der Stats Seite in N42 Haus stehen. Betätige ich wieder den Button und wähle von Seite 1 der Page 1 "Kanne" (diese Info hätte das Steuerelement von "Skills" C110, dann steht nun in N42 kanne.
Wenn ich nun eine Auswahl treffe soll die Zeile aus der die Info kommt herrangezogen werden z.b. C50 und mir eine verlinkung auf der Stats Seite erstellen (Neben der kanne) die auf Skills!P50 verweist. Wenn ich nun nämlich diesen wert unter Skills änder, soll er sich auch auf der Seite Stats aktualisieren, und nicht erst wenn ich nochmal Kanne auswähle. Hier der Code.
Dim values(180)
Dim offset As Integer
Dim cus As String
Private Sub btnOk_Click()
If cusBox.ListIndex > -1 Then Call cusData
If cusBox2.ListIndex > -1 Then Call cusData
If cusBox3.ListIndex > -1 Then Call cusData
End Sub
Private Sub cusBox_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Call cusData
End Sub
Private Sub cusBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Call cusData
End Sub
Private Sub cusBox3_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Call cusData
End Sub
Private Sub cusBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If (KeyCode = 13) Then
Call cusData
End If
End Sub
Private Sub cusBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If (KeyCode = 13) Then
Call cusData
End If
End Sub
Private Sub cusBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If (KeyCode = 13) Then
Call cusData
End If
End Sub
Private Function cusData()
Sheets("Stats").Range("N42") = cusBox & cusBox2 & cusBox3
cusForm.Hide
End Function
Private Sub UserForm_Activate()
Dim cusCol As String
Dim counter As Integer
offset = 8
cusBox.Clear
cusBox2.Clear
cusBox3.Clear
For counter = 0 To 118
cusCol = "C" & counter + offset
If (Sheets("Skills").Range([cusCol]).Value "") Then
cusBox.AddItem (Sheets("Skills").Range([cusCol]).Value)
End If
If (Sheets("Skills 2").Range([cusCol]).Value "") Then
cusBox2.AddItem (Sheets("Skills 2").Range([cusCol]).Value)
End If
If (Sheets("Skills 3").Range([cusCol]).Value "") Then
cusBox3.AddItem (Sheets("Skills 3").Range([cusCol]).Value)
End If
Next counter
MultiPage1.Value = 0
End Sub