Clever-Excel-Forum

Normale Version: VBA - Daten von Userform schneller übertragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Liebe Excel-Freunde,

ich benötige mal wieder eure Hilfe.

Ich habe ein Userform mit einigen Textfeldern.
Nach der Eingabe der Daten und Bestätigung über einen Button werden
die Daten jeweils in die dazu gehörige Zelle im Tabellnblatt übertragen.

Es müssen nicht zwingend alle Felder befüllt werden.

Grundsätzlich klappt auch alles mit den Code, es dauert einfach nur ewig, bis alle Daten
übertragen wurden.

Der Code dazu ist simpel gehalten:


Code:
Range("B50").Value = Text1VonUW.Value
Range("B51").Value = Text2VonUW.Value
Range("B52").Value = Text3VonUW.Value
Range("B53").Value = Text4VonUW.Value
Range("B54").Value = Text5VonUW.Value
Range("B55").Value = Text6VonUW.Value

'und so weiter....


Aber selbst, wenn man nur wenige Felder ausfüllt, dauert die Übertragung ewig, da er anscheinend auch leere Felder überträgt.

Gibt es da eine Möglichkeit das zu beschleunigen, bzw. nur die Textfelder bei der Übertragung zu beachten, in denen auch wirklich Daten sind???

Liebe Dank für eure Hilfe.
Hallo,

ein VBA Code wäre hilfreich ...
Hast Du in deinem Code so etwas wie Application.Screenupdating=false stehen? Zum Einschalten wieder auf true setzen.

Lg
Marcus
Hallo,

teste es mal so:
Sub aaa()
Dim i As Long
Dim varTexte(1 To 6, 1 To 1) As Variant

For i = 1 To UBound(varTexte, 1)
varTexte(i, 1) = Me.Controls("Text" & i & "VonUW").Text
Next i

Range("B50").Resize(UBound(varTexte, 1)).Value = varTexte
End Sub
Du musst nur die 6 (rot gekennzeichnet) entsprechend der tatsächlichen Anzahl ändern.

Gruß Uwe
(12.11.2019, 15:01)marose67 schrieb: [ -> ]Hallo,

ein VBA Code wäre hilfreich ...
Hast Du in deinem Code so etwas wie Application.Screenupdating=false stehen? Zum Einschalten wieder auf true setzen.

Lg
Marcus

Geht schonmal etwas schneller. Danke für den Tipp Marcus.

@Uwe
Das mit der Schleife teste ich mal zusätzlich. Auch dir schonmal Danke.

Melde mich nach dem Test nochmal, ob ich noch Hilfe benötige.


EDIT:
Mega :05: ganz lieben Dank euch beiden, jetzt flitzt die Dateneingabe förmlich durch und es ist eine Sache von Sekunden, statt Minuten ^^