Vielleicht kann mir jemand bei diesem Problem helfen. Habe schon viele Foreneinträge durchgelesen, aber ich kann keine wirkliche Lösung für mein Problem anwenden.
Ich muss dazu sagen, dass ich auch erst vor kurzem in Ecxel eingestiegen bin und auch erst seit letzter Woche mit VBA rum probiere.
Eine kleine Lieferantenbewertung soll simuliert werden.
Jetzt habe ich zu Beginn auf einem Arbeitsblatt ein Formular erstellt mit 62 Textboxen.
Ich habe es auch schon geschafft dasss ich diese Werte in ein Arbeitsblatt einfüge, aber blöderweise habe ich dieses Arbeitsblatt auch später für andere Hilfsdaten zum auslagern benutzt. Das bedeutet ich muss den Bereich für die Lieferanten auf 10 begrenzen. (Tabellenbereich: A2:BJ11)
Man hätte es besser anlegen können, habe ich aber erst im Nachhinein gemerkt. Jetzt sind natürlich schon alle anderen Zellen mit anderen Arbeitsblättern verknüpft.
Und bestimmt kann man den Code auch noch vereinfachen, aber ich bin ja noch am Anfang. :-)
Hier ein Auszug aus meinem Code:
...
'Bei Klick auf den Speichern-Button werden die Inhalte in die Tabelle übertragen und das Fenster geschlossen!
Private Sub Button_Speichern_Click()
'Erste freie Zeile im Arbeitsblatt Datensatz ausfindig machen
Dim last As Integer
last = Worksheets("Datensatz").Cells(Rows.Count, 1).End(xlUp).Row + 1
'Name des Lieferanten wird in Spalte 1 eingetragen aus Textbox_Name
Worksheets("Datensatz").Cells(last, 1).Value = TextBox_Name
'Durch Lieferant erzielte Roherträge werden in Spalte 2 eingetragen aus TextBox_Rohertraege
Worksheets("Datensatz").Cells(last, 2).Value = CDec(UserFormLieferanten.TextBox_Rohertraege.Value)
'Lieferteil und Anzahl werden in die nächsten Spalten eingetragen
Worksheets("Datensatz").Cells(last, 3).Value = CDec(UserFormLieferanten.TextBox_Lieferteil1.Value)
Worksheets("Datensatz").Cells(last, 4).Value = CDec(UserFormLieferanten.TextBox_Lieferteil2.Value)
Worksheets("Datensatz").Cells(last, 5).Value = CDec(UserFormLieferanten.TextBox_Lieferteil3.Value)
Worksheets("Datensatz").Cells(last, 6).Value = CDec(UserFormLieferanten.TextBox_Lieferteil4.Value)
...
Er müsste ja theoretisch nur für den festgelegten Tabellenbereich umgeändert werden.
Und es sollte ein Hinweis erscheinen, dass keine Lieferanten mehr angenommen werden weil der Bereich voll ist.
Ich hoffe es kann mir jemand weiter helfen...
LG