online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon HWR vom 24.10.2022, 14:01 Options

Userform

Hallo zusammen,

Betr.: Übergabe aus Userform in Tabelle mit Textbox

ich möchte das beim Click auf einen CommandButton nur Zeilen von
Tabelle 1 ab A14 nach rechts bis N14 und nach unten nur bis A122 nach recht N122
ausgefüllt werden.
Ab A124 erfolgen ander Berechnungen aufgrund der oben eingetragenen
Daten.


Antwort schreiben

Antwort 1 von malSchauen vom 24.10.2022, 14:21 Options

Hi,

Die Problembeschreibung ist, zumindest für mich, nicht ausreichend.
Hast Du denn schon Code für den Button zur Übertragung? Wenn ja, dann wirst Du ja sicher irgendwie die ZeilenNummer für das Einfügen ermitteln. So Du dies tust, könntest Du mit einer einfachen If-Bedingung vor dem Einfügen sicherstellen, dass die ZeilenNummer nich grösser als 122 sein darf. z.B. wie folgt:
.
.
.
With ThisWorkbook.Worksheets("Tabelle1")
    If lngZeile > 122 Then MsgBox "Eingabebereich ist voll": Exit Sub
    .Range("A" & lngZeile).Value = UserForm1.TextBox1.Value
    .Range("B" & lngZeile).Value = UserForm1.TextBox2.Value
    .
    .
End With
.
.
.


So Du schon eigenen Code für Deinen Button hast, wäre es nicht soo schlecht, diesen hier auch zu posten.

bye
malSchauen

Antwort 2 von HWR vom 24.10.2022, 14:48 Options

Hi,

mein Code den ich hatte, hat immer eine leere Zelle gesucht,
bei Eingabe über das Userform wurden dann die Einträge in der Tabelle unterhalb meiner Berechnungen angelegt.

Jetzt fange ich von vorne an,

Private Sub CommandButton1_Click()

Worksheets("Jan").Range("B14") = Me.TextBox1 ' Eingabedatum
Worksheets("Jan").Range("A14") = Me.TextBox11 'Kalenderwoche

End Sub

Antwort 3 von malSchauen vom 24.10.2022, 15:14 Options

Hi,

Ich nehme an, Du hast die LeerZeile vom Ende der Tabelle her ermittelt. Wenn Du Schreibst, dass ab Zeile 124 die Berechnungen beginnen, dann würde ich von dort aus nach oben schauen, um die ZielZeile zu ermitteln. Das würde bei mir dann ungefähr aussehen, wie folgt:

Private Sub CommandButton1_Click()

Dim lngZielZeile As Long
        
With ThisWorkbook.Worksheets("Jan")
        lngZielZeile = .Range("A" & 124).End(xlUp).Offset(1, 0).Row 'von erster Berechnung nach oben suchen (Leerzeile)
        If lngZielZeile < 14 Then lngZielZeile = 14                 'Wenn Ergebnis kleiner 14 dann setze Ziel auf 14
        If lngZielZeile > 122 Then MsgBox "Eingabebereich ist voll": Exit Sub   'Wenn >122, Meldung und raus
        .Range("A" & lngZielZeile).Value = Me.TextBox11.Value           'KW in Spalte A
        .Range("B" & lngZielZeile).Value = Me.TextBox1.Value            'Datum in Spalte B
End With

End Sub


bye
malSchauen

Antwort 4 von HWR vom 24.10.2022, 15:50 Options

Hi,

nach einem schnellen Test, sieht das Super aus mit deimem Code,

Vielen Dank

Sollte ich noch Fragen haben, darf ich mich dann wieder an dich wenden.

Gruß

HWR

Ähnliche Themen

Userform After_Update
Klapptnicht  02.07.2009 - 159 Hits - 6 Antworten

Userform: Zufallsgenerator
Tomschi  06.08.2009 - 209 Hits - 12 Antworten

Datensätze in UserForm
malibu  07.10.2009 - 154 Hits - 9 Antworten

Text in Userform
detommy  29.10.2009 - 129 Hits - 1 Antwort

Userform Zahlenformat
andreas_3  11.12.2009 - 240 Hits - 6 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026