Wie würdet Ihr das machen?
#31
Nachtrag falls es wen interessiert.

Der Code für die Textbox lautet:

Code:
Me.TextBox1.Value = rFound.Offset(0, 1).Value

Schöne Grüße

Thomas
Top
#32
Also funktioniert es jetzt?

Und auch noch mal ein Lob, das sieht schon jetzt sehr gut aus so, konnte mir auch ein wenig Inspiration abschauen.

Wirst du da evtl auch eine Urlaubsplanung mit einbauen? Also das man sieht wer noch wieviel Urlaub hat?
Top
#33
Guten Morgen Mario,

ja jetzt funktioniert die Userform so wie sie soll.

Danke für dein Lob. Ich selbst lasse mir zwar keine Urlaubstage anzeigen, aber das sollte mit kleinen Änderungen kein Problem sein.

Schöne Grüße

Thomas
Top
#34
Hallo Thomas,

das Find ist völlig überflüssig. Wink
Private Sub ComboBox1_Change()
 Dim i As Long
 If ComboBox1.ListIndex > -1 Then
   With Range(ComboBox1.RowSource).Cells(ComboBox1.ListIndex + 1)
     For i = 1 To 10
       Me.Controls("TextBox" & i).Value = .Offset(, i).Value
     Next i
   End With
 End If
End Sub

Private Sub TextBox1_Change()
 With ComboBox1
   If .ListIndex > -1 Then
     Range(.RowSource).Cells(.ListIndex + 1).Offset(, 1).Value = TextBox1.Value
   End If
 End With
End Sub
Referenziere die RowSource der ComboBox1 vollständig, damit das immer funktioniert, also auch, wenn das Blatt Kalender gerade nicht aktiv ist:
RowSource: Kalender!AO7:AO29

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Thomas78
Top
#35
Hallo Uwe,

vielen Dank für deine Verbesserung !

Der code zum einlesen der Textboxen klappt super.

Aber ich müsste den Code für das zurückschreiben auch auf alle Textboxen ändern, deiner funktioniert nur mit Textbox 1.

Wie müsste ich den Code dafür ändern?

Schöne Grüße

Thomas
Top
#36
Hallo Thomas,

(10.10.2017, 08:51)Thomas78 schrieb: Aber ich müsste den Code für das zurückschreiben auch auf alle Textboxen ändern, deiner funktioniert nur mit Textbox 1.
Wie müsste ich den Code dafür ändern?

nicht ändern, sondern ergänzen für alle TextBoxen. Sind ja nur 2 Stellen jeweils zu ändern.
Private Sub TextBox2_Change()
 With ComboBox1
   If .ListIndex > -1 Then
     Range(.RowSource).Cells(.ListIndex + 1).Offset(, 1).Value = TextBox2.Value
   End If
 End With
End Sub
oder aber die TextBoxen direkt mit den Zellen verknüpfen. Lösche dann aber vorher alle Change-Ereignisse der TextBoxen:
Private Sub ComboBox1_Change()
 Dim i As Long
 If ComboBox1.ListIndex > -1 Then
   With Range(ComboBox1.RowSource).Cells(ComboBox1.ListIndex + 1)
     For i = 1 To 1
       Me.Controls("TextBox" & i).ControlSource = .Offset(, i).Address(External:=True)
     Next i
   End With
 End If
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Thomas78
Top
#37
Aah verstehe,

dachte das mit den Textboxen kann man auch mit i = 1 to 10 oder so machen.

Vielen Dank für deine Hilfe !!!

Grüße

Thomas
Top
#38
Hallo liebes Forum,

jetzt hab ich noch eine Frage :

Ich habe im Blatt "Daten" verschiedene Ranglisten je nachdem welcher Termin als nächstes fällig wird.

Spalte L und M sollte formelmäßig in Ordnung sein? Aber Spalte N zeigt mir bei manchen ein #Zahl! an.
Ich komme beim besten Willen nicht dahinter wo der Fehler steckt.

Vielleicht kann mir einer von euch nochmal weiterhelfen?

Vielen Dank und schöne Grüße

Thomas


Angehängte Dateien
.xlsb   Kalender Dashboard.xlsb (Größe: 66,68 KB / Downloads: 3)
Top


Gehe zu:


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